1.集合类体系结构

集合

  • 单列集合:Collection
    • 可重复:List
      • ArrayList
      • LinkedList
      • Vector
        • Stack
    • 不可重复:Set
      • HashSet
      • TreeSet
      • LinkedSet
  • 双列集合:Map
    • HashMap
    • HashTable
    • WeakHashMap

2.Collection集合概述和使用

Collection集合概述

  • 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
  • JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现

创建Collection集合的对象

  • 多态的方式
  • 具体的实现类ArrayList
  1. package com.study_01;
  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. public class CollectionDemo01 {
  5. public static void main(String[] args) {
  6. // 创建Collection集合对象 多态
  7. Collection<String> c = new ArrayList<String>();
  8. // 添加元素:boolean add(E e)
  9. c.add("helllo");
  10. c.add("world");
  11. c.add("java");
  12. // 输出对象
  13. System.out.println(c); // [helllo, world, java]
  14. }
  15. }

3.Collection集合常用方法

方法名 说明
boolean add(E e) 添加元素
boolean remove(Object o) 从集合中移除指定的元素
void clear() 清空集合中的元素
boolean contains(Object o) 判断集合中是否存在指定的元素
boolean isEmpty() 判断集合是否为空
int size() 集合的长度
  1. package com.study_01;
  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. public class CollectionDemo02 {
  5. public static void main(String[] args) {
  6. // 通过多态的方法创建对象
  7. Collection<String> c = new ArrayList<>();
  8. // add方法永远返回true
  9. // System.out.println(c.add("hello")); // true
  10. // System.out.println(c.add("hello"));
  11. // System.out.println(c.add("world"));
  12. c.add("hello");
  13. c.add("java");
  14. c.add("world");
  15. // 删除元素:boolean remove(Object o)
  16. // System.out.println(c.remove("world")); // true
  17. // System.out.println(c.remove("javaee")); // false
  18. // 清除集合中的元素:void clear()
  19. // c.clear();
  20. // 判断集合中是否存在指定的元素:boolean contains(Object o)
  21. // System.out.println(c.contains("world")); // true
  22. // System.out.println(c.contains("javaee")); // false
  23. System.out.println(c.isEmpty()); // 判断集合是否为空
  24. System.out.println(c.size()); // 集合的长度
  25. System.out.println(c);
  26. }
  27. }

4.Collection集合的遍历

lterator:迭代器,集合的专用遍历方式

  • Iterator iterator:返回此集合中元素的迭代器,通过集合的iterator()方法得到
  • 迭代器是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的

lterator中的常用方法

  • E next():返回迭代中的下一个元素
  • boolean hasNext():如果迭代具有更多元素,则返回true
  1. package com.study_02;
  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. import java.util.Iterator;
  5. public class IteratorDemo {
  6. public static void main(String[] args) {
  7. // 创建Collection集合对象 多态
  8. Collection<String> c = new ArrayList<>();
  9. // 添加元素:boolean add(E e)
  10. c.add("hello");
  11. c.add("world");
  12. c.add("java");
  13. // Iterator<E> iterator() 返回此集合中元素的迭代器 通过集合的iterator()方法得到
  14. Iterator<String> it = c.iterator();
  15. /* ----Iterator<E> iterator()-----
  16. public Iterator<E> iterator() {
  17. return new Itr();
  18. }
  19. private class Itr implements Iterator<E> {
  20. ...
  21. }
  22. */
  23. // 用while循环改进判断
  24. // boolean hasNext():如果迭代具有更多元素,则返回true
  25. while (it.hasNext()) {
  26. // E next():返回迭代中的下一个元素
  27. String s = it.next();
  28. System.out.println( s);
  29. }
  30. }
  31. }