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

首先上图解释集合间的关系,初级面试的时候经常问。虚线(实现关系)、实线(继承关系)
List集合遍历方式一共有四种:
1、因为其有toString方法,可直接输出;
2、普通for循环遍历,类似数组的遍历;
3、增强for循环遍历,类似数组的遍历;
4、使用Iterator迭代器遍历。
具体测试代码如下:
package com.fly.demo;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/**
* @Description :List集合的遍历,跟数组的遍历大同小异。新增Iterator迭代器遍历、有序可重复
* @Create by FLY on 2017-10-20 9:06
*/
public class CollectionDemo1 {
public static void main(String[] args) {
//List集合主要有两个实现类:ArrayList、LinkedList。<泛型>限定集合中存数据的类型,是JDK1.5后的新特性。
List arrayList = new ArrayList<>();
List linkedList = new LinkedList<>();

    //各集合中添加3条测试数据,调用add方法。
    arrayList.add(4);
    arrayList.add(8);
    arrayList.add(2);
    linkedList.add("肆");
    linkedList.add("捌");
    linkedList.add("贰");
    //1、直接System.out.println(集合名).因为有toString()方法,可以直接在控制台中打印集合数据。
    //输出结果[4,8,2]      [4,8,2]  很简单,不做描述

    //2、使用普通for循环遍历集合。可以用下标取数据,类似数组
    for (int i = 0;i < arrayList.size();i++){
        System.out.println("普通for循环遍历arrayList==="+arrayList.get(i));
        System.out.println("普通for循环遍历linkedList==="+linkedList.get(i));
    }
    System.out.println("-------------华丽分割线,开始增强for循环--------------------");
    //3、使用增强for循环遍历。很方便,但是没有下标没法精准的取数据
    for (Integer i : arrayList){
        System.out.println("增强for循环遍历arrayList==="+i);
    }
    for(String str : linkedList){
        System.out.println("增强for循环遍历linkedList==="+str);
    }
    System.out.println("-------------华丽分割线,开始迭代器遍历--------------------");
    //4、使用Iterator迭代器遍历
    Iterator iterator1 = arrayList.iterator();
    Iterator iterator2 = linkedList.iterator();
    while (iterator1.hasNext()){    //如果存在下一个数据
        System.out.println("迭代器遍历arrayList"+iterator1.next());      //就输出
    }
    while(iterator2.hasNext()){
        System.out.println("迭代器遍历linkedList"+iterator2.next());
    }
}

}
Set集合类同List集合,不赘述,其无序不重复的特性需要注意。
——————————————我是华丽的分割线—————————————————
关于Map集合的遍历,主要有以下几种方法:
Map集合中的数据以key-value键值对的形式存储,值可为null,键重复时会覆盖先前的值。遍历Map集合时用到的主要方法及属性:map.entrySet()—获得map集合所有键值对的集合;map.ketSet()—获得map集合中所有key的集合;getKey()—获取key值;getValue()—根据key得到相应的value。Map中的其他方法参照API,感兴趣的自行查阅。
package com.fly.demo;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* @Description :Map集合的遍历和使用,无序不可重复,以Map的实现类HashMap为例。
* @Create by FLY on 2017-10-20 10:10
*/
public class CollectionDemo2 {

public static void main(String[] args) {
    Map<String,Integer> map = new HashMap<>();
    //添加测试数据,相同的key,值会覆盖。value也可以为空。
    map.put("捕鱼达壬",6);
    map.put("捕鱼达壬",666);
    map.put("戒网鱼壬",null);

    //1、直接输出即可、结果为:{捕鱼达壬=666, 戒网鱼壬=null}可以看到,首个key为捕鱼达壬的值被覆盖
    //2、得到所有的key的集合,遍历key集合,根据key得到对应的value
    Set<String> set = map.keySet();
    for (String str : set){
        System.out.println("key+value"+str+"+"+map.get(str));
    }
    System.out.println("=========================我是华丽的输出分割线===========================");
    //3、得到所有的键值对集合,遍历,使用getkey,getvalue方法
    Set<Map.Entry<String,Integer>> set1 = map.entrySet();
    for(Map.Entry<String,Integer> entry : set1){
        System.out.println("Key+Value"+entry.getKey()+":"+entry.getValue());
    }
}

}

续第二篇:一个很有意思的实际应用问题及实现
http://blog.csdn.net/Fly964747264/article/details/78293814
这怎么关联到下一篇上?不会弄啊,只好给你们个URL了,哪里有教程?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值