- 五大知识点:
- 1.Collection和Iterator接口
- 2.Set(集):HashSet、TreeSet(不允许重复)
- 3.List(列表):ArrayList、LinkedList(允许重复)
- 4.Map(映射):HashMap、TreeMap(不允许重复)
- 5.算法类:Collections、Arrays
- 集合(Collection):
- 含义:将多个元素(或对象)放在一个单元的方法
- 作用可以让方法返回一个集合对象,而集合中又装入了很多不同类型的Java对象,从而实现装载和传输数据的功能
- 所有的Java集合Collection类都位于Java.util包中
-
- Collection和Iterator接口:
- 在Collection接口中声明了适合的Java集合的通用方法,见下表:
-
方法
描述
boolean add(Object o)
向集合中加入一个对象的引用
void clear()
删除集合中的所有对象,即不再有对象的引用
boolean contains(Object o)
判断在集合中是否持有对象的引用
boolean isEmpty()
判断集合是否为空
Iterator iterator()
返回一个Iterator对象,可以用来遍历集合中的元素
boolean remove(Object o)
从结合中删除一个对象的引用
int size()
返回集合中元素的个数
Object[] toArray()
返回一个数组,该数组包含集合中的所有元素
- Set接口和List接口都继承了Collection接口,而Map接口没有继承Collection接口,因此只可以对Set和List调用以上方法
- Iterator接口隐藏底层集合的数据结构,提供遍历各种类型的集合的统一接口,Iterator接口中声明的如下方法:
- hasNext():判断集合中的元素是否遍历完毕,如果没有,则返回true
- next():返回下一个元素
- remove():从集合中删除上一个由next()方法返回的元素
-
- Set(集):
- Set集是最简单的一种集合,集合的对象不安特定方式排序,并且没有重复对象
- HashSet类:
- 按照哈希算法来存取集合的对象,具有很好的存取和查找功能,但无排序功能,如果要将HashSet类进行排序,需要将集合转换成数组再对数组进行排序,用toArray()方法
- TreeSet类:
- 能够对集合中的对象进行排序,它支持两种排序方式,自然排序和客户化排序,默认情况下采用自然排序
- TreeSet方法调用CompareTo()方法比较集合中对象的大小,然后进行排序,这种方式就是自然排序
-
注意:
使用自然排序时,只能向TreeSet集合加入同类型的对象,并且这些对象的类必须实现Comparable接口
四、List(列表):
- List列表的主要特征是其元素以线性方式存储,集合中允许存放重复对象,它的主要实现类包括:
- ArrayList:代表长度可变的数组,允许对元素进行快速的随机访问,但插入与删除元素速度较慢
- LinkedList:在实现中采用链表数据结构,插入与删除元素速度较快,随机访问速度则相对较慢,LinkedList单独具有addFirst()、addLast()、getFirst()、getLast()、removeFirst()、removeLast()方法,这些方法可以使得LinkedList可以作为堆栈,队列和双向队列使用
- List允许访问下标,即可以用collections方法对List进行排序(用for循环)
- List只能对集合中的对象按照索引位置排列,如果希望对List中的对象按照其它特定方式排序,可以借助Collections和Comparable接口(或Comparator接口)。Collections类是Java集合类库中的辅助类,它提供了操纵集合的各种静态方法,其中sort()方法用于对List中的对象进行排序:
- sort(List list):对List中的对象进行自然排序,但不能对Set进行排序
- sort(List list,Comparator comparator):对List中的对象进行客户化排序
- reverse(List list):对已经排好升序的的集合进行降序排列
- ListIterator接口:List的listIterator()方法返回一个ListIterator对象,ListIterator接口继承了Iterator接口,此外还专门提供了操纵列表的方法:
- add():向列表插入一个元素
- hasNest():判断列表中是否有下一个元素
- hasPrevious():判断列表是否还有上一个元素
- next():返回表中的下一个元素
- previous():返回表中的上一个元素
-
五、Map(映射):
- Map是一种把键对象进行映射到集合,即给每个值都取个别名,没有迭代方法
- HashMap:
-
作用:以“键key” à“值”的方式存储元素,建立一对一的访问关系,一般key值不能相同,而值可以相同
- 放值:对象.put(”名”,”值”);
- 取值:Object obj = 对象.get(”名”);
- keySet()方法用于获取Map中所有的名称
- TreeMap:实现了SortedMap接口,能对键对象进行排序,也分自然排序和客户化排序两种方式
-
六、算法类:Collections、Arrays
- Collections:用于对List进行排序
- Arrays:用于对数组进行排序
-
七、英语角:
Set 集合 List 列表 Map 映射