【问题标题】:How to split Set<String> in Java or Android如何在 Java 或 Android 中拆分 Set<String>
【发布时间】:2014-11-17 13:14:37
【问题描述】:
private SharedPreferences sharedpre = null;
private SharedPreferences.Editor saveuser = null;

Set<String> pathNamesImage = new HashSet<String>();
saveuser = sharedpre.edit();

pathNamesImage.add(pathLocal);
saveuser.putStringSet("prePathNames", pathNamesImage);

在上面的代码中,我想通过split() 方法或任何其他方法根据其大小来获取每个字符串。因为所有值都在Set 中。
我无法获取每个值,例如使用数组的split() 方法。所以,谁能帮帮我。

【问题讨论】:

  • 为什么要使用 Set 并执行拆分,为什么不只使用数组/列表,以便在将元素放入时检查重复?
  • @almasshaikh 因为我正在使用共享偏好来保存和检索另一个活动中的值并将其拆分到 android 中

标签: java android arrays hashset


【解决方案1】:

Set&lt;String&gt; 转换为String[],然后您可以像这样遍历所有条目:

Set<String> pathNamesImage = new HashSet<String>();

// Initialize a string array to hold all your set entries
String[] stringArray= new String[pathNamesImage.size()];

// Now, you can iterate over Set, by using the array
for(String str : pathNamesImage.toArray(stringArray)){
    Log.d("yeah", "str:" + str);        
}

注意:我看到您正在使用SharedPreferencesStringSet...在您的SharedPreferences 中修改StringSet 时请注意这个讨厌的问题:

Android documentation

请注意,您不得修改此调用返回的集合实例。 如果您这样做,则无法保证存储数据的一致性,也不能保证 您完全可以修改实例。

【讨论】:

    猜你喜欢
    • 2015-11-17
    • 2019-01-30
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    相关资源
    最近更新 更多