重温集合
Posted czp2bconfident
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重温集合相关的知识,希望对你有一定的参考价值。
学习Java语言一定要学会使用集合!
集合类又称为容器,提到容器不难想到数组。
数组 | 集合 |
数组长度是事先固定的 | 集合的长度是可以变化的 |
数组是有序的 | 集合有的有序,有的无序 |
常用的集合类有List集合、Set集合和Map集合。
遍历集合中的元素,都是通过迭代器(Iterator)来实现。
1 public class Muster { 2 public static void main(String[] args) { 3 Collection<String> list = new ArrayList<>(); 4 list.add("a); 5 list.add("b"); 6 list.add("c"); 7 8 Iterator<String> it = list.iterator(); 9 while (it.hasNext()) { 10 String str = (String) it.next(); // it.next()方法返回的是Object对象,所以需要强制类型转换 11 System.out.println(str); 12 } 13 } 14 }
Collection接口 | List集合 | Set集合 | Map集合 |
Collection接口的常用方法有, add(E e) remove(Object o) isEmpty() iterator() size() |
List集合包括List接口以及List接口的所有实现类 | Set集合包括Set接口以及Set接口的所有实现类 |
Map集合包括Map接口以及Map接口的所有实现类 |
List集合中的元素允许重复 | Set集合中不能包含重复的对象 | Map集合中不能包含相同的key,每个key只能映射一个value | |
List集合中各元素的顺序就是对象插入的顺序 | Set集合中的对象不按特定的方式排序,只是简单地把对象加入集合中 | ||
List接口实现了Collection接口,因此包含了Collection接口中的所有方法。此外, List接口还定义了两个非常重要的方法:get(int index)和set(int index, Object obj) |
Set集合实现了Collection接口,因此包含了Collection接口的所有方法 |
Map集合没有实现collection接口,其提供的是key到value 的映射。 |
|
List接口的实现类有ArrayList和LinkedList。ArrayList类实现了可变的数组,根据索引 查找元素很方便;LinkedList类采用链表结构保存对象,向集合中插入、删除对象很方便。 |
Set接口常用的实现类有HashSet类和TreeSet类。HashSet类实现了 Set接口,由哈希表支持。它不保证Set的迭代顺序,特别是它不保证该 顺序恒久不变; TreeSet类不仅实现了Set接口,还实现了java.util.SortedSet接口,因此, TreeSet类实现的Set集合在遍历时按照自然顺序递增排序,也可以按照指定 比较器递增排序。 |
Map接口常用的实现类有HashMap和TreeMap。 HashMap类实现的Map集合在添加、删除映射关系时效率更高, 但不保证映射的顺序,特别是它不保证该顺序恒久不变; TreeMap类不仅实现了Map接口,还是先了java.util.SortedMap接口, 因此集合中映射关系具有一定的顺序。 |