首页 / JAVA / Java中常用的集合工具类
Java中常用的集合工具类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java中常用的集合工具类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5595字,纯文字阅读大概需要8分钟。
内容图文
![Java中常用的集合工具类](/upload/InfoBanner/zyjiaocheng/622/93964c9800fc4bc4b6bcd3b2bc1452f2.jpg)
Map大佬是和Collection一个元老级别的,不是List、set一级的
1.1 Collection接口
Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。常用方法如下:
public boolean add(E e)
: 把给定的对象添加到当前集合中 。public void clear()
:清空集合中所有的元素。public boolean remove(E e)
: 把给定的对象在当前集合中删除。public boolean contains(E e)
: 判断当前集合中是否包含给定的对象。public boolean isEmpty()
: 判断当前集合是否为空。public int size()
: 返回集合中元素的个数。public Object[] toArray()
: 把集合中的元素,存储到数组中。
1.2 Map接口
Map是双值存储结构。常用方法如下:
- public V put(K key, V value): 把指定的键与指定的值添加到Map集合中。
- public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。
- public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
- boolean containsKey(Object key) 判断集合中是否包含指定的键。
- public Set keySet(): 获取Map集合中所有的键,存储到Set集合中。
- public Set<Map.Entry<K,V>> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。
二、List接口:
2.1 ArrayList
2.1.1 概述
ArrayList: 使用的是数组结构,对于插入和删除慢,查找快。
-
此类的iterator和listIterator方法返回的迭代器是快速失败的 :如果在创建迭代器之后的任何时候对列表进行结构修改,除了通过迭代器自己的remove或add方法之外,迭代器将抛出ConcurrentModificationException
-
此类是线程不同步的(不是线程安全的)
2.2.2 操作
三种构造方法:
-
ArrayList()
构造一个初始容量为10的空列表。- 其实初始容量为0,只是在第一次扩容时把容量改为了10。第一次之后的每次扩容为原来的1.5倍。
-
ArrayList(int initialCapacity)
构造具有指定初始容量的空列表。- 如果我们一开始就要存一个容量很大的数据,此时用无参数构造器就会很浪费空间,因为要不断扩容。
-
ArrayList(Collection<? extends E> c)
按照集合的迭代器返回的顺序构造一个包含指定集合元素的列表。常用方法:
-
public void add(int index, E element)
: 将指定的元素,添加到该集合中的指定位置上。- 指定的下标不能大于列表的长度(即:list.size()),否则抛出
-
public E get(int index)
:返回集合中指定位置的元素。 -
public E remove(int index)
: 移除列表中指定位置的元素, 返回的是被移除的元素。 -
public E remove(Object o)
: 移除列表中指定值元素的一项 -
public E set(int index, E element)
:用指定元素替换集合中指定位置的元素,返回值的更新前的元素。 -
public Iterator<E> iterator()
:得到一个迭代器对象 -
public int siz()
:获得元素的个数
2.2 Vector
2.2.1 概述
Vector: 类实现了可增长的对象数组。 像数组一样,它包含可以使用整数索引访问的组件。 但是, Vector的大小可以根据需要增大或缩小,以便在创建Vector后添加和删除项目。
- 它的操作和ArrayList类似,它也不能用除了迭代器自己的remove或add方法之外的方法去修改迭代器。
- 与新的集合实现不同, Vector是同步的。
- 如果不需要线程安全实现,建议使用ArrayList代替Vector 。
2.2.2 操作
四种构造器方法:
Vector()
构造一个空向量,使其内部数据数组的大小为 10 ,其标准容量增量为零。Vector(int initialCapacity)
构造一个具有指定初始容量且容量增量等于零的空向量。Vector(int initialCapacity, int capacityIncrement)
构造具有指定初始容量和容量增量的空向量。Vector(Collection<? extends E> c)
按照集合的迭代器返回的顺序构造一个包含指定集合元素的向量。
常用方法:
? 见ArrayList
2.3 LinkedList
2.3.1 概述
LinkedList:使用的是双向链表,对于增加删除快,查找慢
- 可以用{addFirst(E e)、removeFirst()|getFirst()}或直接用{push、pop}把它当做一个栈来使用
- 可以用addFirst(E e)、removeLast()|getLast()把它当做一个队列来使用
2.3.2 操作
public void addFirst(E e)
:将指定元素插入此列表的开头。public void addLast(E e)
:将指定元素添加到此列表的结尾。public E getFirst()
:返回此列表的第一个元素。public E getLast()
:返回此列表的最后一个元素。public E removeFirst()
:移除并返回此列表的第一个元素。public E removeLast()
:移除并返回此列表的最后一个元素。public E pop()
:从此列表所表示的堆栈处弹出一个元素。public void push(E e)
:将元素推入此列表所表示的堆栈。public boolean isEmpty()
:如果列表不包含元素,则返回true。
LinkedList是List的子类,List中的方法LinkedList都是可以使用
2.4 Iterator与ListIterator
2.4.1 Iterator
**迭代器:**它是用来Java中用来遍历元素的工具类
迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
常用方法:
public E next()
:返回迭代的下一个元素。public boolean hasNext()
:向后如果仍有元素可以迭代,则返回 true。public void remove( )
:删除迭代器指针所指向的集合元素
2.4.2 ListIterator
它与Iterator是一样的用法,只不过它是专门用来迭代List集合用的
常用方法:
public E next()
:返回迭代的下一个元素。public boolean hasPrevious()
:向前如果仍有元素可以迭代,则返回 true。public E previous()
:返回迭代的上一个元素。public boolean hasNext()
:向后如果仍有元素可以迭代,则返回 true。public void remove( )
:删除迭代器指针所指向的集合元素
三、Set接口:
3.1 HashSet
3.1.1 概述
Set: 不包含重复元素的集合。 更正式地说,集合不包含元素e1和e2 ,使得e1.equals(e2)为true且最多一个存入null元素(利用Comparator比较器)。
HashSet: 散列存放,底层用HashMap实现(哈希表实现),将自己的值作为键存入一个HashMap中,故性质与HashMap相似。
3.1.2 操作
构造方法:
HashSet()
:返回一个默认容量为16和默认加载因子为0.75的对象
HashSet(int initialCapacity)
:返回一个指定容量和默认加载因子为0.75的对象
HashSet(
int initialCapacity,float loadFactor)
:返回一个指定容量和指定加载因子的对象
HashSet(Collection<? extends E> c)
:返回一个指定集合元素的对象
常用方法:
-
public Iterator<E> iterator()
:得到一个迭代器对象 -
public boolean add(E e)
:如果该元素不存在,则添加到此集合中 -
public void clear()
:移除所有元素 -
public boolean contains(Object o)
:如果此 set 包含指定元素,则返回 true。 -
public int size()
:获得set中元素的个数 -
public boolean remove(Object o)
:如果指定元素存在于此 set 中,则将其移除 -
public int size()
:获得set中元素的个数
内容总结
以上是互联网集市为您收集整理的Java中常用的集合工具类全部内容,希望文章能够帮你解决Java中常用的集合工具类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。