集合
集合概述
- Java集合大致可分为Set、List、Queue、Map四种体系,其中Set代表无序、不可重复的集合;List代表有序的可重复的集合;Map代表具有映射关系的集合;Queue代表一种队列集合的实现。
- Java集合就像是一个容器,可以把多个对象(对象引用)放到该容器中。
- Java的集合类主要由两个接口派生而出:Collect和Map,这两个接口是Java集合的根接口。
- 集合的最常用实现类:HashList、TreeSet、ArrayList、ArrayDeque、LinkedList、HashMap、TreeMap。
Collection
接口方法
- boolean add(Object o):添加元素。
- boolean addAll(Collection a):把集合a中的所有元素添加到该集合中。
- void clear():清除集合中的所有元素。
- boolean isEmpty():返回集合是否为空。
- boolean contains(Object o):返回集合是否包含指定元素。
- boolean remove(Object o):删除集合中指定元素。
- int size():返回集合中的元素个数。
- Object[] toArray():将集合转换为一个数组。
Iterator
- Iterator对象主要用于遍历,也被称为迭代器。
- Iterator对象定义的方法:
boolean hasNext():如果还有元素则返回true。
Object next():返回集合里的下一个元素
void remove():删除集合里上一次next方法返回的元素
void forEachRemaining(Consumer action):可使用Lambda表达式来遍历集合的元素
- Iterator必须依附于Collection对象。
- 当使用Iterator遍历Collectio对象的元素时,Collection集合里的元素不能被改变,只有通过Iterator的remve()方法删除上一次next()方法返回的集合元素才可以。
遍历集合推荐三种方式:
1、使用Collection提供的forEach方法,JDK8之后提供
2、使用foreach循环
3、使用Iterator迭代器
如果需要在循环过程中删除元素,需要使用Iterator迭代器实现,先执行next()方法,在调用迭代器的remove()方法,不要使用集合的remve()方法
1 package com.arix.collection; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 import java.util.Iterator; 6 7 public class CollectionDemo { 8 public static void main(String[] args) { 9 Collection<String> co = new ArrayList<>(); 10 co.add("a"); 11 co.add("b"); 12 co.add("c"); 13 co.add("d"); 14 co.add("e"); 15 16 //使用Collection的forEach方法 17 co.forEach(s -> System.out.println(s)); 18 19 20 //使用foreach 21 System.out.println("----------"); 22 for (String s : co 23 ) { 24 25 System.out.println(s); 26 } 27 28 //使用Iterator迭代器 29 System.out.println("----------"); 30 Iterator<String> iterator = co.iterator(); 31 while (iterator.hasNext()) { 32 String s = iterator.next(); 33 System.out.println(s); 34 //使用迭代器删除 35 iterator.remove(); 36 } 37 38 } 39 }

浙公网安备 33010602011771号