文章目录
- List、Set、Map用法
- List集合详细使用方法
- List常用的方法
- Set集合详细使用方法
- Map集合详细使用方法
- Map中的常用方法
List、Set、Map用法
List集合详细使用方法
- 有序集合(也称为序列 )。 该界面的用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。
- 与集合不同,列表通常允许重复的元素。 更正式地,列表通常允许元素e1和e2成对使得e1.equals(e2) ,并且如果它们允许空元素,它们通常允许多个空元素。 有人可能希望实现一个禁止重复的列表,当用户尝试插入时会抛出运行时异常,但是我们预计这种使用是罕见的。
- 将List转化为int数组:list.stream().mapToInt(Integer::valueOf).toArray();
List常用的方法
add(E e)
将指定的元素追加到此列表的末尾(可选操作)。
void add(int index, E element)
将指定的元素插入此列表中的指定位置(可选操作)。
boolean addAll(Collection<? extends E> c)
按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。
boolean addAll(int index, Collection<? extends E> c)
将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。
void clear()
从此列表中删除所有元素(可选操作)。
boolean contains(Object o)
如果此列表包含指定的元素,则返回 true 。
boolean containsAll(Collection<?> c)
如果此列表包含指定 集合的所有元素,则返回true。
boolean equals(Object o)
将指定的对象与此列表进行比较以获得相等性。
E get(int index)
返回此列表中指定位置的元素。
int hashCode()
返回此列表的哈希码值。
int indexOf(Object o)
返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
boolean isEmpty()
如果此列表不包含元素,则返回 true 。
Iterator<E> iterator()
以正确的顺序返回该列表中的元素的迭代器。
int lastIndexOf(Object o)
返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
ListIterator<E> listIterator()
返回列表中的列表迭代器(按适当的顺序)。
ListIterator<E> listIterator(int index)
从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。
E remove(int index)
删除该列表中指定位置的元素(可选操作)。
boolean remove(Object o)
从列表中删除指定元素的第一个出现(如果存在)(可选操作)。
boolean removeAll(Collection<?> c)
从此列表中删除包含在指定集合中的所有元素(可选操作)。
default void replaceAll(UnaryOperator<E> operator)
将该列表的每个元素替换为将该运算符应用于该元素的结果。
boolean retainAll(Collection<?> c)
仅保留此列表中包含在指定集合中的元素(可选操作)。
E set(int index, E element)
用指定的元素(可选操作)替换此列表中指定位置的元素。
int size()
返回此列表中的元素数。
default void sort(Comparator<? super E> c)
使用随附的 Comparator排序此列表来比较元素。
default Spliterator<E> spliterator()
在此列表中的元素上创建一个Spliterator 。
List<E> subList(int fromIndex, int toIndex)
返回此列表中指定的 fromIndex (含)和 toIndex之间的视图。
Object[] toArray()
以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。
<T> T[] toArray(T[] a)
以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。
Set集合详细使用方法
- 不包含重复元素的集合,自动排序
- 将一个数组中的元素放入Set:Set set = Arrays.stream(nums1).boxed().collect(Collectors.toSet());
boolean add(E e)
如果指定的元素不存在,则将其指定的元素添加(可选操作)。
boolean addAll(Collection<? extends E> c)
将指定集合中的所有元素添加到此集合(如果尚未存在)(可选操作)。
void clear()
从此集合中删除所有元素(可选操作)。
boolean contains(Object o)
如果此集合包含指定的元素,则返回 true 。
boolean containsAll(Collection<?> c)
返回 true如果此集合包含所有指定集合的元素。
boolean equals(Object o)
将指定的对象与此集合进行比较以实现相等。
int hashCode()
返回此集合的哈希码值。
boolean isEmpty()
如果此集合不包含元素,则返回 true 。
Iterator<E> iterator()
返回此集合中元素的迭代器。
遍历set中的元素
Iterator i = set.iterator();
while (i.hasNext()){
String s = (String) i.next();
System.out.println(s+":"+map.get(s));
}
boolean remove(Object o)
如果存在,则从该集合中删除指定的元素(可选操作)。
boolean removeAll(Collection<?> c)
从此集合中删除指定集合中包含的所有元素(可选操作)。
boolean retainAll(Collection<?> c)
仅保留该集合中包含在指定集合中的元素(可选操作)。
int size()
返回此集合中的元素数(其基数)。
default Spliterator<E> spliterator()
在此集合中的元素上创建一个 Spliterator 。
Object[] toArray()
返回一个包含此集合中所有元素的数组。
<T> T[] toArray(T[] a)
返回一个包含此集合中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。
Map集合详细使用方法
- Map接口是双列集合,每一个元素都包含一个键值对象,key、value,键值之间存在一种对应关系,称为映射,访问元素时,通过key,可以访问value,但是目前通过value访问key没有简单的办法
- 统计nums数组中每个元素出现的次数,
• Arrays.stream(nums1).forEach(item)->{
map.put(item,map.getOrDefault(item,0)+1)
});
Map中的常用方法
Map<Object, Object> map = new HsahMap<>();
map.put(key,value);// 向map中添加键值,会将原先key所对应的键值覆盖掉,即可以用该方法修改map中的值,Key不能重复,Value可以重复
map.clear(); // 删除map中所有键值
map.remove(key);// 删除Key为key值的元素
map.putAll(Map m);// 向map集合中添加m集合的所有元素
map.get(key);// 根据map集合中元素的Key来获取相应元素的Value,如果没有,返回null
map.containsKey(key);// 检出map集合中有没有包含Key为key的元素,如果有则返回true,否则返回false。
map.containsValue(value);// 检出map集合中有没有包含Value为value的元素,如果有则返回true,否则返回false。
map.isEmpty();// 判断map是否为空,为空返回true
map.equals(m);// 判断两个map集合是否完全相同
int num = map.hashCode();// 返回map集合的哈希码值
int size = map.size();// 返回map集合元素个数
default boolean remove(Object key, Object value)
仅当指定的密钥当前映射到指定的值时删除该条目。
default V replace(K key, V value)
只有当目标映射到某个值时,才能替换指定键的条目。
/**
* 遍历map
*/
Set keySet();// 返回map集合中所有Key
Collection<v> values();// 返回map集合中所有的Value到一个Collection集合
Set<Map.Entry<K,V>>entrySet();// 返回此映射中包含的映射关系的Set试图