首页 > 其他分享 >map list 和set

map list 和set

时间:2023-03-05 17:13:40浏览次数:34  
标签:map set 迭代 temp entrySet list Set key

List输出的顺序和输入的顺序一致,允许重复。

Set 输出的顺序和输入的顺序不一致,不允许有重复数据

List和Set继承Collection接口,所以增加方法是一样的add(),获取元素时,List可以有下标,普通for循环、增强for循环、迭代器三种方式。Set没有下标,所以有增强for循环、迭代器两种方式。

map存Key ,value两个值(键值对),是无序的,通过key可以获取到value的值。put(key,value)方法增加数据,get(key)获取value值。通过entrySet()和keySet()先获取Set集合。循环集合Set获取所有数据。

//如果要遍历map,必须先转换成set,然后对set进行遍历
        Set<Entry<String,Student>> entrySet =  map.entrySet();//调用entrySet方法,将map转换成set集合,每个元素是Entry<String,Student>,一个Entry对应map一个元素
        System.out.println("entrySet()--foreach:");
        for(Entry<String,Student> temp:entrySet){//for(每个元素的类型  临时变量名:集合名)
            System.out.println(temp.getKey()+"===="+temp.getValue());//一个temp对应entrySet集合中一个元素,也就是map中的一个元素。
//            调用Entry类中的getKey和getValue方法,可以获取map中某个元素对应的key值和value值
        }
        System.out.println("entrySet()--迭代器:");
        Iterator<Entry<String,Student>> entryIter = entrySet.iterator();//将entrySet集合转换成迭代器,迭代器中泛型和集合泛型一致
        while(entryIter.hasNext()){
//            不能两次调用next()
//            System.out.println(entryIter.next().getKey()+"===="entryIter.next().getValue());
            Entry<String,Student> temp = entryIter.next();//通过迭代器获取其中一个元素
            System.out.println(temp.getKey()+"===="+temp.getValue());
        }
        
        Set<String> keySet = map.keySet();//通过keySet方法转换成Set集合,集合里每一个元素是key值
        Iterator<String> keyIter = keySet.iterator();//将set转换成迭代器,迭代器泛型和集合set泛型一致
        while(keyIter.hasNext()){
            String temp = keyIter.next();//获取迭代器中的某一个元素,也就是map中的key值,temp中存储的是map中的key值,例如javaee001
            System.out.println(temp+"======="+map.get(temp));//map.get(key)得到value,temp里存储的就是key值
        }

 

标签:map,set,迭代,temp,entrySet,list,Set,key
From: https://www.cnblogs.com/cn-iwish/p/17180927.html

相关文章