首先官方给List的注释是 有序集合(也称为序列),可以精确控制列表中每个元素的位置,用户可以通过元素的整数索引(位置)访问元素,与Set不同,List通常允许重复元素,更正式。
List源码解析
List源码解析
不难看出List是继承与Collection的而Collection继承Iterable。所有我们先了解下Iterable

一、Iterable

官方解释是 实现这个接口就可以使用forEach循环。我们再看下方法

1、iterator()

返回一个迭代器

2、forEach(Consumer<? super T> action)

遍历集合内部底层是通过迭代器循环

3、spliterator()

List源码解析
二、Collection

所有集合的根接口,一个集合表示一组对象,称为其elements。一些集合允许重复元素,而其他元素不允许。一些命令和其他无秩序的。定义了集合的很多方法以供实现

三、List

有序集合(也称为序列)。接口可以精确控制列表中每个元素的位置,用户可以通过元素的整数索引(位置)访问元素,并搜索列表中的元素。与集合不同,列表通常允许重复元素。更正式

下面是一些方法的说明:

1、size()

返回集合的大小

2、isEmpty();

判断集合是否为空 返回布尔

3、contains(Object o)

判断集合中有没有o,返回布尔

4、 iterator()

返回一个迭代器对象
示例代码:
List ints = new ArrayList<>();
ints.add(1);
ints.add(3);
ints.add(5);
Iterator iterator = ints.iterator();
while (iterator.hasNext()) //hasNext() 判断下个对象是否有值,返回布尔
System.out.println(iterator.next()); //next() 返回下个对象

5、toArray()

返回一个Object数组对象

6、toArray(T[] a);

返回a类型的数组对象
示例代码:
List ints = new ArrayList<>();
ints.add(1);
ints.add(3);
ints.add(5);
Integer[] integers = ints.toArray(new Integer[0])
for (Integer integer : integers) {
System.out.println(integer);
}

7、add(E e);

首先要调用ensureCapacityInternal(size + 1)方法,然后添加元素到集合末尾

8、remove(Object o)

删除值为o的元素,当o的类型为int时根据下标删除

9、containsAll(Collection<?> c)

判断集合里是否包含集合c里面的所有元素,返回布尔

10、addAll(Collection<? extends E> c)

首先要调用ensureCapacityInternal(size + 1)方法,然后把集合c所有元素添加到集合末尾

11、addAll(int index,Collection<? extends E> c)

首先要调用ensureCapacityInternal(size + 1)方法,然后把集合c所有元素添加到指定位置,index为指定位置的下标

12、removeAll(Collection<?> c)

把集合c所有元素从集合里删除

13、retainAll(Collection<?> c)

集合里匹配集合c的元素的保留,别的全部删除

14、replaceAll(UnaryOperator operator)

对集合里面所有数据进行操作
示例代码:
List ints = new ArrayList<>();
ints.add(1);
ints.add(3);
ints.add(5);
ints.replaceAll(x ->x+1); //把集合里所有元素的值都加1
for (Integer integer : integers) {
System.out.println(integer);
}

15、sort(Comparator<? super E> c)

对集合进行排序
示例代码:
List stringList = new ArrayList<>();
stringList.add(“python”);
stringList.add(“java”);
stringList.add(“c++”);
stringList.sort((s1,s2)->s1.compareTo(s2));
stringList.forEach(item ->{
System.out.println(item);
});

16、clear()

删除集合中所有元素

相关文章:

  • 2021-10-22
  • 2021-10-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-06
  • 2021-07-23
  • 2022-02-25
猜你喜欢
  • 2021-07-07
  • 2021-08-17
  • 2021-09-03
  • 2021-08-28
  • 2021-08-13
  • 2021-08-23
  • 2019-11-11
相关资源
相似解决方案