您的位置:首页 > 其它

关于List、Set、Map集合的简介(二)

2017-10-20 11:44 239 查看
续关于List、Set、Map集合的简介(一)

===============================================================

集合遍历的使用:关于List、Set集合的遍历,通常使用增强for循环遍历,如果需要得到单个数据,可使用普通for循环得到其下标。Map集合的遍历,推荐使用遍历所有的键值对集合遍历。

来个小问题练习一下:统计一组数据中相同数据的个数。

思路:先将数据放进list集合中,遍历,判断map集合中是否含有此字符串(使用containsKey方法),若有value值+1,若无,value设置为1。代码实现:

package com.fly.demo;

import java.util.*;

/**

* @Description :统计List集合中的数据的个数并返回

* @Create by FLY on 2017-10-20 10:16

*/

public class CollectionDemo3 {

public static void main(String[] args) {

List<String> list = new ArrayList<>();
//添加测试数据
list.add("发条魔灵");
list.add("发条魔灵");
list.add("发条魔灵");
list.add("提莫队长");
list.add("提莫队长");
list.add("戒网鱼壬");
//使用LinkedHashMap保证数据的顺序存取
Map<String,Integer> map =  new LinkedHashMap<>();
for (String str : list){
if(map.containsKey(str)){
map.put(str,map.get(str)+1);
}else{
map.put(str,1);
}
}
System.out.println(map);//或参照Map集合的其他遍历方式得到需要的结果格式。
}


}

============================================================

数组:定长,存放数据单一;

集合:不定长,不指定泛型时,可存放多种类型。

那么,我要这数组有何用?是不是有种既生瑜、何生亮的感觉,欢迎讨论。

初学者,纰漏之处在所难免,若有更好的实现方法,欢迎提出、讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: