java常用集合概述

一、Collection集合
1、两种容器
A.数组(存放任意类型,长度固定)
B.集合(存放对象类型,长度可变)
2、体系结构
单列集合 Collection
List (ArrayList、LinkedList、Vector)
Set(HashSet、LinkedHashSet、TreeSet)
3、常用方法
A.增
public boolean add(E)
B.删
public void clear()
public boolean remove(E)
C.改
public Object[] toArray()
public T[] toArray()
D.查
public int size()
public boolean isEmpty()

二、迭代器 Iterator
1、获取迭代器对象
Iterator iter = c.iterator(); //获取迭代器
2、使用迭代器方法
iter.hasNext(); //是否存在下一个元素
E e = iter.next(); //获取下一个元素
3、模板案例
//创建对象
Collection c = new ArrayList();
//添加数据
c.add(“Hello”);
c.add(“world”);
c.add(“good”);
//获取迭代器
Iterator iter = c.iterator();
//循环遍历迭代器 itit
while (iter.hasNext()) {
String next = iter.next();
System.out.println(next);
}
4、增强for循环的使用(快捷键 集合名称.for)
//创建对象
Collection c = new ArrayList();
//添加数据
c.add(“Hello”);
c.add(“world”);
c.add(“good”);
//增强for
for (String s : c) {
System.out.println(s);
}
5、迭代器的注意事项
不能在遍历集合的过程当中进行修改的操作,否则会出现并发修改异常
并发修改异常: ConcurrentModificationException

三、List集合
1、List集合特点
A、有序(存储的顺序和取出的顺序是一致的)
B、有重复(存放的数据可以是重复的)
C、有索引(存放的元素有索引,可以通过索引操作元素)
2、List集合的特有功能(索引相关)
A、增
void add(int index,E e) //添加元素到指定位置
B、删
E remove(int index) //删除指定位置的元素,并且将该元素返回
C、改
E set(int index,E e) //修改指定位置的元素,并且将原始元素返回
D、查
E get(int index) //获取指定索引位置的元素
3、常见的数据结构
A、栈(先进后出)
B、队列(先进先出)
C、数组(查找快、增删慢)
D、链表(查找慢、增删快)
E、红黑树(二叉树、提升搜索效率)
4、关于LinkedList(主要是操作头和尾的方法)
A、增
public void addFirst(E e) //将指定元素添加到列表的开头
public void addLast(E e) //将指定元素添加到列表的结尾
B、删
public E removeFirst() //移除并且返回此列表的第一个元素
public E removeLast() //移除并且返回此列表的最后一个元素
C、查
public E getFirst() //返回此列表的第一个元素
public E getLast() //返回此列表的最后一个元素
D、其他
public E pop() //从此列表所表示的堆栈当中弹出一个元素
public void push(E e) //将元素推入此列表所表示的堆栈
public boolean isEmpty() //如果列表不包含任何元素,则返回true

四、Set集合
1、Set集合特点
A、无序(存储的顺序和取出的顺序可能不是一致的)
B、无重复(存放的数据可以是无重复的,可以用来去重)
C、无索引(没有索引,无法通过索引获取元素值)
2、Set集合的体系
A、子类 HashSet 无序、无重复
B、子类 LinkedHashSet 有序、无重复
3、可变参数
A、可变参数基本格式:
a.定义格式
修饰符 返回值类型 方法名称(数据类型… 参数名){
方法体;
return 返回值;
}
b.使用格式
数据类型 返回值 = 方法名称(参数1,参数2,参数3,参数4);
B、可变参数注意:可变参数只能使用在参数列表的最后

五、Collections集合
1、常用的方法
public static boolean addAll(Collection c,T… elements) //往集合当中添加元素
public static void shuffle (List<?> list) //随机置换 打乱集合的顺序
public static void sort(List list) //将集合中元素按照默认规则排序
public static void sort(List list,Comparator<? super T> comparator) //将集合元素按照指定规则排序
2、两种比较器
A、内比较器 Comparable 采用实现接口去实现【固定】
当前的类去实现 Comparable 接口,添加未实现的方法
B、外比较器 Comparator 采用匿名内部类实现【灵活】
Collections.sort(list, new Comparator(){ … });
C、升序和降序操作
升序: 当前在前升 (当前 - 传入) o1.compareTo(o2)
降序: 当前在后降 (传入 - 当前) o2.compareTo(o1)

六、Map集合
1、Map集合作用
处理一一对应的关系集合
Collection 是单列集合
Map 是双列集合
2、Map集合常用方法
A.增和改
public V put(K key,V value) //把指定的键和值添加到Map集合当中
B.删
public V remove(K key) //把指定的键key 对应关系的值删除,并且返回删除的值
C.查
public int size() //返回map集合的大小数据
public V get(K key) //根据指定的键key 获取对应的值
public boolean containsKey(K) //是否包含指定的键key 包含返回true
public boolean containsValue(V) //是否包含指定的值value 包含返回true
D.遍历
public Set keySet() //获取Map集合当中所有的键,存储在Set集合中
public Set<Map.Entry<K,V>> entrySet() //获取到Map集合当中所有的键值对对象的集合
3、Map集合的遍历方式
A.通过键,找到值
Set set = map.keySet();
for (String s : set) {
System.out.println(s);
}
B.Entry键值对对象(结婚证对象)
Set<Map.Entry<String, String>> entry = map.entrySet();

猜你喜欢

转载自blog.csdn.net/chenailun1990/article/details/115290404