Collection

  • add(E e):添加元素
  • addAll(Collection c): 添加一个集合的所有元素
  • clear: 清除集合
  • contains(Object o): 判断集合中是否存在指定元素
  • containsAll(Collection c): 判断集合中是否包含另一个集合的所有元素
  • isEmpty:返回一个Iterator对象,用于遍历集合元素
  • remove(Object o): 删除指定元素
  • removeAll(Collection c): 删除所有元素
  • retainAll(Collection c): 删除集合中 不包含的元素
  • size: 长度
  • toArray: 转为数组
  • 一些对list排序的方法
    • reverse(List list):逆向排序
    • shuffle: 随机排序
    • sort: 自然顺序
    • sort(List list,Comparator c)
    • swap(List list, int i, int j):将指定 List 集合中的 i 处元素和 j 处元素进行交换。
    • rotate(List list, int distance):当 distance 为正数时,将 list 集合的后 distance 个元素“整体”移到前面;当 distance 为负数时,将 list 集合的前 distance 个元素“整体”移到后面。该方法不会改变集合的长度。
  • of() :不可变集合 无法修改删除

List

有序集合

  • get(int index): 指定索引位置元素
  • indexOf(Object o):返回第一次出现该元素的索引
  • lastIndexOf(Object o): 返回最后一次出现该元素的索引
  • set(int index, Eelement): 设置某索引位置的元素内容
  • subList(int fromlndex, int tolndex): 返回一个新的元素,包含 fromlndex 和 tolndex 索引之间
    的所有元素。包含 fromlndex 处的元素,不包含 tolndex 索引处的
    元素

ArrayList

数组形式的集合

  • 与数组区别
    • 数组固定长度,ArrayList随意增加
    • 数组固定类型,ArrayList可任意类型

LinkedList

链式形式存储数据 访问速度慢,增加删除快

Map

以键值对形式存储数据的集合

  • clear():移处所有
  • containsKey:判断是否存在指定key
  • containsValue:判断是否存在指定value
  • get:获取指定key内容
  • put(K key, V value):添加
  • putAll(Map m):类似于复制,添加另一个map所有内容
  • remove(Object key):删除指定key
  • remove(Object key, Object value):删除指定key->value
  • entrySet():返回所有key->value set集合
  • keySet():返回所有key set集合
  • isEmpty():是否为空
  • size():大小
  • values:返回该 Map 里所有 value 组成的 Collection

HashMap

哈希算法来存取键对象

TreeMap

对键值对进行排序

Set

不包含重复元素

HashSet

基于HashMap实现

TreeSet

有序Set

  • first():返回第一个元素
  • last():返回最后一个元素
  • poolFirst():移出第一个元素
  • poolLast():移出最后一个元素
  • subSet(E fromElement,E toElement):截取fromElement和toElement之间的所有元素
  • tailSet(E fromElement):返回 fromElement之后的所有元素
  • headSet<E toElement〉:返回toElement之前的所有元素

集合遍历方式

for,foreach,Iterator

for

for (Map.Entry<String, String> entry : map.entrySet()) {
    String mapKey = entry.getKey();
    String mapValue = entry.getValue();
    System.out.println(mapKey + ":" + mapValue);
}

foreach

for (String key : map.keySet()) {
    System.out.println(key);
}

// 调用forEach()方法遍历集合 Lambda表达式
objs.forEach(obj -> System.out.println("迭代集合元素:" + obj));

Iterator

Iterator<Entry<String, String>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
    Entry<String, String> entry = entries.next();
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key + ":" + value);
}