【发布时间】:2015-08-31 13:02:09
【问题描述】:
我有如下所示的数组
public static void main(String[] args) {
List asList = Arrays.asList("banner","carousel","banner","carousel","banner");
Set<String> mySet = new HashSet<String>(asList);
for(String s: mySet){
System.out.println(s + " " +Collections.frequency(asList,s));
}
}
输出:
carousel 2
banner 3
期望输出:
banner0
carousel0
banner1
carousel1
banner2
请让我知道在这种情况下需要做什么。
【问题讨论】:
-
在您的代码 sn-p 中没有计数器。什么意思?
-
如果您需要维护插入顺序,List 似乎比 Set 更合适。
-
有许多不同的方法可以实现您正在寻找的功能,请考虑将您的
for-each循环修改为带有迭代器的标准for循环。您可以考虑使用 if 条件并在外部for循环中添加另一个循环。 -
我会使用 HashMap
来记住字符串元素的当前计数,并每次增加它。但是,这看起来像是学校/大学的作业,只为您编写代码是错误的。