集合之Collection接口
集合:集合是java中提供的一种容器,可以用来存储多个数据。
集合和数组既然都是容器,它们有什么区别呢?
- 数组的长度是固定的。集合的长度是可变的。
- 数组中存储的是同一类型的元素,可以存储任意类型数据。集合存储的都是引用数据类型。如果想存储基本类型数据需要存储对应的包装类型。
集合常用类的继承体系
Collection:单列集合 ---List:有序、可重复 ---ArrayList ---LinkedList ---Vector ---Stack ---Set:无序、不可重复 ---HashSet ---LinkedHashSet ---SortedSet ---TreeSet Map:双列集合(key - value) ---HashMap:线程不安全、key和value可以为null ---LinkedHashMap ---SortedMap ---TreeMap ---Hashtable:线程安全、key和value不能为null ---Properties
Collection集合的遍历方式:
- 迭代器。
- foreach(增强for循环)
- JDK 1.8开始的新技术Lambda表达式。
public static void main(String[] args) { Set<String> set = new HashSet(); // String[] strs = set.toArray(String[]::new); set.add("李小龙"); set.add("霍元甲"); set.add("叶问"); set.add("成龙"); set.add("陈真"); // 1.使用Lambda表达式遍历集合 set.forEach(str -> { System.out.println(str); }); // set.forEach(str -> System.out.println(str)); // set.forEach(System.out::println); System.out.println("------------------------------"); // 2.使用Iterator遍历集合元素 Iterator<String> it = set.iterator(); while(it.hasNext()){ System.out.println(it.next()); } System.out.println("------------------------------"); // 3.使用增强for循环遍历 for(String str:set){ System.out.println(str); } }
Collection类常用方法:
public boolean add(E e)
: 把给定的对象添加到当前集合中 。public void clear()
:清空集合中所有的元素。public boolean remove(E e)
: 把给定的对象在当前集合中删除。public boolean contains(Object obj)
: 判断当前集合中是否包含给定的对象。public boolean isEmpty()
: 判断当前集合是否为空。public int size()
: 返回集合中元素的个数。public Object[] toArray()
: 把集合中的元素,存储到数组中