List、Set、Map集合大杂烩

java集合主要分三种:list、set、map;其中list和set都继承自Collection接口,两者最大区别是set不能包含重复元素

list的常用实现类有:

  • ArrayList:大小可变数组的实现
  • LinkedList:链接列表实现,元素增删快,查找慢
  • Vector:线程安全的大小可变数组的实现

list常用的方法有:

add(E e); // 向列表的尾部添加指定的元素
clear(); // 从列表中移除所有元素
contains(Object o); // 判断列表中是否包含指定元素
get(int index); // 返回列表中指定位置的元素。
isEmpty(); // 如果列表不包含元素,则返回 true
iterator(); // 返回包含列表中所有元素的迭代器
remove(int index); // 移除列表中指定位置的元素
set(int index, E element); // 用指定元素替换列表中指定位置的元素
size(); // 返回列表中的元素数
toArray(); //返回包含列表中所有元素的数组

set的常用实现类有:

  • HashSet:基于hash算法的set集合
  • LinkedHashSet:基于hash和链表算法的set集合
  • TreeSet:基于二叉树算法的可排序set集合

set常用的方法有:

add(E e); // 如果set中尚未存在指定的元素,则添加此元素
addAll(Collection c); // 如果set中没有指定 collection 中的所有元素,则将其添加到此set中(交集运算)
clear(); // 移除此set中的所有元素
contains(Object o); // 如果set包含指定的元素,则返回 true
isEmpty(); // 如果set不包含元素,则返回 true
iterator(); // 返回包含set中所有元素的的迭代器
remove(Object o); // 如果set中存在指定的元素,则将其移除
removeAll(Collection c); //移除set中那些包含在指定 collection 中的元素(差集运算)
retainAll(Collection c); //仅保留set中那些包含在指定 collection 中的元素(并集运算)
size(); // 返回set中的元素数
toArray(); //返回包含set中所有元素的数组

map的常用实现类有:

  • HashMap:基于hash的map实现
  • Hashtable:基于hash,线程安全的map实现

map常用的方法有:

clear(); // 从此映射中移除所有映射关系
containsKey(Object key); //判断map中是否包含指定的key
entrySet(); //返回包含Map中所有元素的set集合
get(Object key); // 返回指定键所映射的值
isEmpty(); // 如果map不包含元素,则返回 true
keySet(); // 返回此映射中包含的键的Set视图
put(K key, V value); //添加键值对
remove(Object key); // 移除指定的key
size(); //返回map中键值对总数
values(); // 返回此映射中包含的值的 Collection 视图

Arrays

  • asList(T… a); // 将指定的数组转换成list对象
  • binarySearch(…); // 使用二分搜索法找指定的对象,使用前须先对数组进行排序
  • equals(…); // 比较两个数组是否一致
  • fill(…); //用指定值替代数组中的所有元素
  • sort(…); // 对数组进行排序

复制数组可以使用 System.arraycopy(…)方法

Iterator

  • hasNext(); // 如果仍有元素可以迭代,则返回 true
  • next(); // 返回迭代的下一个元素
  • remove(); // 移除迭代器返回的最后一个元素

Collections

  • sort(…); // 对指定集合进行排序
  • reverse(…); // 翻转集合的顺序
  • shuffle(…); // 对指定集合进行位置的随机置换
  • fill(…); // 用指定值替代集合中的所有元素
  • max(…); // 返回集合中最大的元素
  • min(…); // 返回集合中最小的元素
  • frequency(…); // 返回指定值在集合中出现的次数
  • synchronizedList(…)、synchronizedSet(…)、synchronizedMap(…); //返回支持同步的List、Set或Map
  • unmodifiableList(…)、unmodifiableSet(…)、unmodifiableMap(…);
    //返回不可修改的List、Set或Map

你可能感兴趣的:(并发编程,一个节点的并发编程笔记)