组(arraylist)
增
/** .add(Object); 添加数据 */
list.add("张三");
list.add(10);
list.add(3.0);
list.add('c');
list.add('a');
list.add('b');
list.add(12);
list.add("张三");
/** .add(index, Object) 在下标的位置添加数据,其他数据向后移 */
list.add(1, "王五");
/**.clear() 复制数组长度但不复制元素*/
删
/** .remove(index) 根据下标移除数据 */
list.remove(1);
/** .remove(Object) 根据值移除数据 */
boolean b = list.remove(3.0);
System.out.println(b);
/** .clear(); 删除所有数据 */
list.clear();
int length = list.size();
System.out.println(length);
/** 删除数组 */
list.removeAll(list);
int lenh = list.size();
System.out.println(lenh);
/** 如果true有任何元素被删除 */
boolean ss=list.removeIf(null);
System.out.println(ss);
改
/** .set(index, 值) 在下标的位置替换数据 */
list.set(3,"gg");
查
System.out.println("第一种 ---for循环");
/** .size() 获取集合个数 */
int length = list.size();
System.out.println(length);
for (int i =0;i<length;i++) {
/** .get(index) 根据下标获取数据 */
Object obj=list.get(i);
System.out.print(obj+" ");
}
System.out.println("\n======================");
System.out.println("第二种 ---forEach");
/**
* forEach
* 语法for(数据类型 名字:集合名) {}
* 把集合中的每一个数据,都赋值给前面的数据对象
*/
for (Object obj:list) {
System.out.print(obj+" ");
}
System.out.println("\n======================");
System.out.println("第三种---迭代器循环");
/** .iterator() 获取一个迭代器 */
Iterator iterator = list.iterator();
/** .hasNext() 用来判断下一个值有没有 */
while (iterator.hasNext()) {
/** iterator.next(); 获取下一个值 */
Object obj = iterator.next();
System.out.print(obj+" ");
}
/** .contains(Object) 查询数据,如果有为true 没有为false */
boolean a = list.contains("李四");
System.out.println("\n"+a);
其他
replaceAll
public void replaceAll(UnaryOperator<E> operator)
1
说明从界面: List复制
将该列表的每个元素替换为将该运算符应用于该元素的结果。 运营商抛出的错误或运行时异常被转发给呼叫者。
Specified by:
replaceAll在接口 List
参数
operator - 操作员应用于每个元素
retainAll
public boolean retainAll(Collection<?> c)
1
仅保留此列表中包含在指定集合中的元素。 换句话说,从此列表中删除其中不包含在指定集合的所有元素。
Specified by:
retainAll在接口 Collection
Specified by:
retainAll在界面 List
重写:
retainAll在 bstractCollection
参数
c - 包含要保留在此列表中的元素的集合
结果
true如果此列表因呼叫而更改
异常
ClassCastException - 如果此列表的元素的类与指定的集合不兼容( optional )
NullPointerException - 如果此列表包含空元素,并且指定的集合不允许空元素( optional ),或者如果指定的集合为空
set
public E set(int index,E element)
1
用指定的元素替换此列表中指定位置的元素。
Specified by:
set在界面 List
重写:
set在 AbstractList
参数
index - 要替换的元素的索引
element - 要存储在指定位置的元素
结果
该元素以前在指定的位置
异常
IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index >= size() )
size
public int size()
1
返回此列表中的元素数。
Specified by:
size在接口 Collection
Specified by:
size在接口 List
Specified by:
size在 AbstractCollection
结果
该列表中的元素数
sort
public void sort(Comparator<? super E> c)
1
说明从界面复制: List
使用提供的 Comparator对此列表进行排序,以比较元素。
Specified by:
sort在界面 List
参数
c - 用于比较列表元素的Comparator 。 null值表示应使用元素’ natural ordering ’
spliterator
public Spliterator<E> spliterator()
1
在此列表中的元素上创建late-binding和fail-fast Spliterator 。
该Spliterator报告Spliterator.SIZED , Spliterator.SUBSIZED和Spliterator.ORDERED 。 覆盖实现应记录其他特征值的报告。
Specified by:
spliterator在接口 Iterable
Specified by:
spliterator中的 Collection
Specified by:
spliterator在界面 List
结果
一个 Spliterator在这个列表中的元素
从以下版本开始:
1.8
subList
public List<E> subList(int fromIndex,int toIndex)
1
返回指定的fromIndex (含)和toIndex之间的列表部分的视图。(如果fromIndex和toIndex相等,返回的列表为空。)返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,反之亦然。返回的列表支持所有可选列表操作。
该方法消除了对显式范围操作(对于数组通常存在的排序)的需要。 任何期望列表的操作都可以通过传递一个子列表视图而不是整个列表来用作范围操作。 例如,以下成语从列表中移除了一系列元素:
list.subList(from, to).clear();
1
可以为indexOf(Object)和lastIndexOf(Object)构造类似的成语,并且Collections类中的所有算法都可以应用于子列表 。
如果支持列表(即,此列表)以除了通过返回的列表之外的任何方式进行结构修改 ,则此方法返回的列表的语义将变得未定义。 (结构修改是那些改变此列表的大小,或以其他方式扰乱它,使得正在进行的迭代可能产生不正确的结果)。
Specified by:
subList在接口 List
重写:
subList在 AbstractList
参数
fromIndex - fromIndex低端点(含)
toIndex - toIndex高端点(独占)
结果
该列表中指定范围的视图
异常
IndexOutOfBoundsException - 如果端点索引值超出范围 (fromIndex < 0 || toIndex > size)
IllegalArgumentException - 如果端点索引是乱序 (fromIndex > toIndex)
toArray
public Object[] toArray()
1
以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。
返回的数组将是“安全的”,因为该列表不保留对它的引用。 (换句话说,这个方法必须分配一个新的数组)。 因此,调用者可以自由地修改返回的数组。
此方法充当基于阵列和基于集合的API之间的桥梁。
Specified by:
toArray在接口 Collection
Specified by:
toArray在界面 List
重写:
toArray在 AbstractCollection
结果
一个包含该列表中所有元素的数组的数组
toArray
public <T> T[] toArray(T[] a)
1
以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素);返回的数组的运行时类型是指定数组的运行时类型。如果列表适合指定的数组,则返回其中。否则,将为指定数组的运行时类型和此列表的大小分配一个新数组。
如果列表适用于指定的数组,其余空间(即数组的列表数量多于此元素),则紧跟在集合结束后的数组中的元素设置为null 。 (这仅在调用者知道列表不包含任何空元素的情况下才能确定列表的长度。)
Specified by:
toArray在接口 Collection
Specified by:
toArray在接口 List
重写:
toArray在 AbstractCollection
参数类型
T - 包含集合的数组的运行时类型
参数
a - 要存储列表的元素的数组,如果它够大; 否则,为此目的分配相同运行时类型的新数组。
结果
一个包含列表元素的数组
异常
ArrayStoreException - 如果指定数组的运行时类型不是此列表中每个元素的运行时类型的超类型
NullPointerException - 如果指定的数组为空
trimToSize
public void trimToSize()
修改这个ArrayList实例的容量是列表的当前大小。 应用程序可以使用此操作来最小化ArrayList实例的存储。