Java中List集合及其实现类的方法详解
什么是List集合?
List集合是Java中最常用的集合之一,它可以存储有序、可重复的数据。
List实现类
Java中常见的List实现类有3种:
- ArrayList
- LinkedList
- Vector
其中,Vector常用于多线程并发访问的场景中,由于其性能较慢,因此本文不再赘述。下面详细讲解ArrayList和LinkedList的方法及其区别。
ArrayList
常用方法
添加元素
- add(E e)
- add(int index, E element)
- addAll(Collection<? extends E> c)
- addAll(int index, Collection<? extends E> c)
删除元素
- remove(int index)
- remove(Object o)
- removeIf(Predicate<? super E> filter)
- removeAll(Collection<?> c)
修改元素
- set(int index, E element)
获取元素
- get(int index)
- subList(int fromIndex, int toIndex)
其他方法
- clear()
- size()
- isEmpty()
- toArray()
- contains(Object o)
- indexOf(Object o)
- lastIndexOf(Object o)
示例说明
添加元素
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add(1, "orange");
// list: ["apple", "orange", "banana"]
上述代码中,先新建一个空的ArrayList,然后依次添加"apple"和"banana"两个元素。接着,使用add(int index, E element)方法将"orange"插入到索引为1的位置,也就是原来的"banana"前面。最终得到的list为["apple", "orange", "banana"]。
删除元素
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
list.remove(1);
// list: [1, 3, 4, 5]
list.removeIf(num -> num % 2 == 0);
// list: [1, 3, 5]
上述代码中,先使用Arrays.asList()方法快速创建一个包含5个元素的ArrayList,然后使用remove(int index)方法删除索引为1的元素2。接着使用removeIf(Predicate<? super E> filter)方法,传入一个Lambda表达式作为参数,对于集合中的每个元素进行判断,判断条件为num % 2 == 0,即判断元素是否为偶数。根据该条件进行删除操作,得到的最终结果为[1, 3, 5]。
LinkedList
常用方法
LinkedList类与ArrayList类的方法类似,但有一些添加和删除头尾元素的方法。
添加元素
- add(E e)
- addFirst(E e)
- addLast(E e)
- add(int index, E element)
- addAll(Collection<? extends E> c)
- addAll(int index, Collection<? extends E> c)
删除元素
- remove(int index)
- remove(Object o)
- removeFirst()
- removeLast()
- removeFirstOccurrence(Object o)
- removeLastOccurrence(Object o)
- removeIf(Predicate<? super E> filter)
- removeAll(Collection<?> c)
修改元素
- set(int index, E element)
获取元素
- get(int index)
- getFirst()
- getLast()
- subList(int fromIndex, int toIndex)
其他方法
- clear()
- size()
- isEmpty()
- toArray()
- contains(Object o)
- indexOf(Object o)
- lastIndexOf(Object o)
示例说明
添加元素
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.addFirst("orange");
// list: ["orange", "apple", "banana"]
list.addLast("pear");
// list: ["orange", "apple", "banana", "pear"]
上述代码中,先新建一个空的LinkedList,然后依次添加"apple"和"banana"两个元素。接着,使用addFirst(E e)方法在链表头部插入"orange"元素。下一行代码使用addLast(E e)方法在链表尾部插入"pear"元素。最终得到的list为["orange", "apple", "banana", "pear"]。
删除元素
LinkedList<Integer> list = new LinkedList<>(Arrays.asList(1, 2, 3, 4, 5));
list.removeFirst();
// list: [2, 3, 4, 5]
list.removeLast();
// list: [2, 3, 4]
上述代码中,先使用Arrays.asList()方法快速创建一个包含5个元素的LinkedList,然后使用removeFirst()方法删除链表头部的元素1。接着使用removeLast()方法删除链表尾部的元素5。最终得到的list为[2, 3, 4]。
总结
List集合是Java中最常用的集合之一,支持有序、可重复的元素。Java中常见的List实现类有ArrayList和LinkedList,分别具有各自的优缺点,在不同的场景下可根据需要进行选择。对于两种List实现类的常用方法,需要充分掌握,以便于在日常开发中更加高效地进行编写。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中List集合及其实现类的方法详解 - Python技术站