java.util.list的基础功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.util.list的基础功能相关的知识,希望对你有一定的参考价值。

参考技术A List接口提供了特殊的迭代器,ListIterator,除了允许Iterator接口提供的正常操作外,该迭代器还允许元素插入和替换,以及双向访问。还提供了一个方法来获取从列表中指定位置开始的列表迭代器。
允许插入重复的元素,与set不同。允许插入null。
boolean add(Object o) 向列表的尾部追加指定的元素。
void add(int index,Object o) 在列表的指定位置插入指定元素。
boolean addAll(Collection c) 追加指定collection中的所有元素到此列表的尾部,顺序 是指定collection的迭代器返回这些元素的顺序。
boolean addAll(int index,Collection c) 将指定collection中的所有元素添加到列表的 指定位置中。
void clear() 从列表中移除所有的元素。
boolean contains(Object) 如果列表包含指定的元素.
boolean contains(Collection c) 如果列表包含指定collection的所有元素,则返回true
boolean equals(Object o) 比较指定的对象与列表是否相等.
Object get(int index) 返回列表中指定位置的元素.
int hashCode() 返回列表的哈希码.
int indexOf(Object o) 返回列表中首次出现指定元素的位置,如果无此元素,则返回-1
int lastIndexOf(Object o) 返回列表中最后一次出现指定元素的位置,如无,则返回-1
boolean isEmpty() 如果列表不包含元素,则返回true
Iterator iterator() 返回以正确顺序在列表的元素上进行迭代的迭代器。
ListIterator listIterator() 返回列表中元素的列表迭代器(以正确顺序).
ListIterator listIterator(int index) 返回列表中元素的列表迭代器(以正确顺序),从列表 的指定位置开始.
boolean remove(Object o) 移除列表中首次出现的指定元素.
Object remove(int index) 移除列表中指定位置的元素(可选操作)。将所有的后续元素向 左移动(将其索引减 1)。返回从列表中移除的元素。返回的是 以前在指定位置的元素.
boolean removeAll(Collection c) 从列表中移除指定collection包含的所有元素.
boolean retainAll(Collection c) 仅在列表中保留指定collection所包含的元素.
Object set(int index,Object element) 用指定元素替换列表中指定位置的元素.返回的是 以前在指定位置的元素.
int size() 返回列表中的元素数.
List subList(int fromindex,int toindex) 返回列表中指定的fromindex(包含)和toindex (不包含)之间的部分视图.
Object[] toArray() 返回以正确顺序包含列表中的所有元素的数组.
T[] toArray(T[] a) 返回以正确顺序包含列表中所有元素的数组;返回数组的运行 时类型是指定数组的运行时类型

JAVA-基础(Set~HashSet)

JAVA-基础(Set~HashSet)

1.什么是set?

java.util.Set接口和java.util.List接口一样,同样继承自Collection接口,

Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。

 2.HashSet?

java.util.HashSetSet接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的。

HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能。保证元素唯一性的方式依赖于:hashCodeequals方法。

 

hashCode是每个对象特有的哈希码,类似于地址。

3.特点?

存储数据的结构是数组+链表实现,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低但是当链表长度超过阈值8时,就会取消链表转为红黑树(红黑树能够加快查询效率)

技术图片

 2.LinkedHashSet?

java.util.LinkedHashSet,它是链表和哈希表组合的一个数据存储结构。有序

 

以上是关于java.util.list的基础功能的主要内容,如果未能解决你的问题,请参考以下文章

jsp实现表格的增删功能

接口Set

HashSetLinkedHashSet基本概念和使用

Java进阶--Set接口

Set接口

Java之Set的使用场景