1.集合类似于数组 但是两者的最大差别是集合长度是可变的 而数组的长度是不可变的
2.集合的三大类型
2.1 List
<1>ArrayList
数组结构,查询快,增删改慢
<2>LinkedList(特有方法)
链表结构,查询慢,增删改快
<3>Vector
增删改查慢
2.2 Set
<1>HashSet
无序排列
<2>TreeSet
有序排列
2.3 Map(重点)
特有的添加方法 集合名.put("键","值")方法
<1>HashMap 可以加空值(无序)
<2>HashTable 不能加空值(无序)
<3>TreeMap 可以加空值(有序)
<4>迭代Map(重点)
<4.1>两种获取集合元素的方法:
<4.2>重点说一下获取方法中的两个:keySet()和entrySet()方法
<4.2.1>eySet()方法获取元素
原理:将Map集合中的所有键存入到Set集合中,因为Set集合具备迭代器,所以可以用迭代方式取出所有的键,再根据get方法获取每一个键对应的值。简单说就是:Map集合---->Set集合 ---->迭代器取出
<4.2.2>entrySet()方法获取元素:
原理:将Map集合中的映射关系存入到了Set集合中,而这个映射关系的数据类型是Map.Entry,在通过迭代器将映射关系存入到Map.Entry集合中,并通过其中的getKey()和getValue()放取出键值。
3.区别
1.List中的对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,如通过list.get(i)方式来获得List集合中的元素。
2.Set中的对象不按特定方式排序,并且没有重复对象。但它的有些实现类能对集合中的对象按特定方式排序,例如TreeSet类,它可以按照默认排序,也可以通过实现java.util.Comparator<Type>接口来自定义排序方式。
3.Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。