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

来源:互联网 发布:kvm centos虚拟化 编辑:程序博客网 时间:2024/06/14 08:28

续关于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集合的其他遍历方式得到需要的结果格式。}

}

============================================================
数组:定长,存放数据单一;
集合:不定长,不指定泛型时,可存放多种类型。
那么,我要这数组有何用?是不是有种既生瑜、何生亮的感觉,欢迎讨论。

初学者,纰漏之处在所难免,若有更好的实现方法,欢迎提出、讨论。

阅读全文
0 0
原创粉丝点击