【发布时间】:2012-10-12 08:22:24
【问题描述】:
谁能给我解释一下这段代码,我对Collections没有太多的编码经验,所以我很难理解这些LOC。
String[] stringList ={"1","2","1","1","2","3","2","3","2","1"};
List<String> al =Arrays.asList(stringList);
Set<String> uniqueList = new HashSet<String>(al);
for (String strCount :uniqueList) {
System.out.println(strCount + ": " + Collections.frequency(al, strCount));
}
为什么这个循环只运行了 3 次,而 uniquelist 拥有 stringList 的所有成员。循环不应该运行 10 次(长度为uniqueList)吗?
【问题讨论】:
-
您可以通过调用 size() 方法来检查 set uniqueList 的大小。
-
我可以建议您更好地命名变量吗?例如,您将一个集合命名为 uniqueList。一个更好的变量名会表明它是一个集合。
-
谢谢Atul,但是现在这个帖子已经得到了太多的答案,所以如果我现在改名,如果将来有人从这个页面寻求帮助,用户会感到困惑。
-
@Sobia 我认为 Atul 的意思是您应该更改代码中的变量名称,而不是在问题中。
-
是的,我的意思是一般做法......不是在这个问题本身。 :)
标签: java collections set hashset