List特点:元素有放入顺序,元素可重复 Map特点:元素按键值对存储,无放入顺序 Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) List接口有三个实现类:LinkedList,ArrayList,Vector LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢 ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低 Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet SortedSet接口有一个实现类:TreeSet(底层由平衡二叉树实现) Query接口有一个实现类:LinkList Map接口有三个实现类:HashMap,HashTable,LinkeHashMap HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null SortedMap有一个实现类:TreeMap 其实最主要的是,list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对
List遍历
1) List List list = new ArrayList(); list.add(1); list.add(2); list.add(4); list.add(3); Iterator iterator = list.iterator(); System.out.println("------方法一-------"); while (iterator.hasNext()) { int i = Integer.parseInt(iterator.next().toString()); System.out.println(i); } System.out.println("------方法二-------"); for (Iterator iter = list.iterator(); iter.hasNext();) { int i = Integer.parseInt(iter.next().toString()); System.out.println(i); } System.out.println("------方法三-------"); for (Object obj : list) { System.out.println(obj); } System.out.println("------方法四-------"); for (int i = 0; i < list.size(); i++) { int k = list.get(i); System.out.println(k); }
Set遍历
Set set = new HashSet(); set.add("123"); set.add("abc"); System.out.println("方法一"); // 方法一:使用迭代器 for(Iterator i = set.iterator(); i.hasNext(); ) { System.out.println(i.next()); } System.out.println("方法二"); // 方法二:使用 JDK 5 新增的 foreach 循环,只有数组和实现了 Iterable 接口的类才能这样写。 // 冒号左边是一个局部变量,表示这个 set 中被迭代出来的元素,右边是一个数组或者是实现了 Iterable // 接口的类。 for(String str : set) { System.out.println(str); }
Map遍历(1)
Map tempMap = new HashMap(); tempMap.put("a", 1); tempMap.put("b", 2); tempMap.put("c", 3); // JDK1.4中 // 遍历方法一 hashmap entrySet() 遍历 System.out.println("方法一"); Iterator it = tempMap.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); System.out.println("key=" + key + " value=" + value); } System.out.println(""); // JDK1.5中,应用新特性For-Each循环 // 遍历方法二 System.out.println("方法二"); for (Map.Entry entry : tempMap.entrySet()) { String key = entry.getKey(); int value = entry.getValue(); System.out.println("key=" + key + " value=" + value); } System.out.println(""); // 遍历方法三 hashmap keySet() 遍历 System.out.println("方法三"); for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) { Object obj = i.next(); System.out.println(obj);// 循环输出key } for (Iterator i = tempMap.values().iterator(); i.hasNext();) { Object obj = i.next(); System.out.println(obj);// 循环输出value } for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) { Object obj = i.next(); System.out.println("key=" + obj + " value=" + tempMap.get(obj));// 循环输出key 和 value } System.out.println(""); // 遍历方法四 treemap keySet()遍历 System.out.println("方法四"); for (Object o : tempMap.keySet()) { System.out.println("key=" + o + " value=" + tempMap.get(o)); }
Map遍历(2)
public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } //第二种 System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第三种:推荐,尤其是容量大时 System.out.println("通过Map.entrySet遍历key和value"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第四种 System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); for (String v : map.values()) { System.out.println("value= " + v); }
相关推荐
List,Set和Map遍历读取[归类].pdf
List、Set、MapList与Set集合的区别List、Map、Set三个接口,存取元素时,各有什么特点SetListMapList、Set、Map遍历的实现先来个Employee实体类List遍历的三种方式Set遍历的两种方式Map的几种遍历 List与Set集合的...
主要介绍了Java集合Set、List、Map的遍历方法,是非常实用的遍历技巧,需要的朋友可以参考下
JAVA__MAP_+__LIST__SET和MAP的区别+_Map的三种遍历方法
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2.List(列表<接口>)以线性方式存储,有序,允许重复主要实现类有LinkList(采用链表数据结构)和ArrayList(代表可大可小的数组) Eg: ...
Collection集合下,有List,Set这些接口,这些接口有哪些区别,什么情况下可以使用呢。Map集合该如何使用呢,如何遍历呢?
主要介绍了详解Java中list,set,map的遍历与增强for循环的相关资料,需要的朋友可以参考下
NULL 博文链接:https://takeme.iteye.com/blog/1663039
java Map 遍历方法 Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); ...
STL中逆向遍历及删除 例子: map set vector list 等等
c++容器list、vector、map、set区别 list 封装链表,以链表形式实现,不支持[]运算符。 对随机访问的速度很慢(需要遍历整个链表),插入数据很快(不需要拷贝和移动数据,只需改变指针的指向)。 新添加的元素,...
在使用 list、set 或 map遍历删除某些元素时可以这样使用,如下所示
实现了vector list set map 可以使用iterator遍历 插入 删除等功能
下面材料整理自Internet&...在使用 list、set 或 map遍历删除某些元素时可以这样使用: 1.1 正确写法1 std::list< int> List; std::list< int>::iterator itList; for( itList = List.begin(); itList != List.end();
java中的各种集合及其遍历总结;例子包括:List(ArrayList、LinkList),Set(HashSet、TreeSet),Map(HashMap),还有一个集合排序的例子
Comparator的区别,List和Set集合详解,List和Set的总结,HashMap和HashTable的⽐较,Map的遍历,ArrayList 与 Vector 区别呢?为什么要⽤Arraylist取代Vector呢?HashSet与TreeSet与LinkedHashSet对⽐,HashMap 的⻓...
Collection容器存储一个元素集合,包括List、Set和Queue等类型。Map容器存储键/值对映射。 Collection接口是List、Set和Queue接口的父接口,定义了存取一组对象的方法。Collection接口继承自Iterable接口,这意味着...
set和map是由红黑树来实现的,当erase的时候迭代器就失效了,也就是说我们要在迭代器失效之前保留一个副本,根据这个副本我们才能继续遍历下一个元素
java 开发者 配置jdk1.8 一下是jdk1.8的新特性Lamdbd表达式 forEach循环遍历 List<String> names = new ArrayList(); names.forEach(String x -> { System.out.println(x); System.out.println(x); });...
java容器介绍 本文目录java容器介绍泛型的简单介绍Comparable和...List方法二listIterator遍历Set遍历Map方式一遍历Map方式二Collections是工具类不要Collectio