LinkedList和ArrayList是Java中常用的两种线性集合类。它们都实现了List接口,并提供了类似的功能,如动态添加和删除元素、按索引访问元素等。然而,它们在内部实现和使用场景上有所不同。下面将分别介绍LinkedList和ArrayList的使用方法。

使用LinkedList:

1. 初始化LinkedList

要使用LinkedList,首先需要创建一个LinkedList对象。可以使用无参构造函数创建一个空的LinkedList,也可以在创建时直接传入一个初始集合来初始化LinkedList。

// 创建空的LinkedList
LinkedList<String> linkedList = new LinkedList<>();

// 创建时传入初始集合
List<String> list = Arrays.asList("A", "B", "C");
LinkedList<String> linkedList = new LinkedList<>(list);

2. 添加和删除元素

LinkedList提供了一系列方法用于添加和删除元素。可以使用add()方法在末尾添加一个元素,使用addFirst()方法在链表头部添加一个元素,使用addLast()方法在链表尾部添加一个元素。可以使用remove()方法根据元素值或索引删除一个元素,使用removeFirst()方法删除链表头部的元素,使用removeLast()方法删除链表尾部的元素。

// 添加元素
linkedList.add("D");  // 添加到末尾
linkedList.addFirst("A");  // 添加到头部
linkedList.addLast("E");  // 添加到尾部

// 删除元素
linkedList.remove("B");  // 根据元素值删除
linkedList.remove(0);  // 根据索引删除
linkedList.removeFirst();  // 删除头部元素
linkedList.removeLast();  // 删除尾部元素

3. 遍历和访问元素

LinkedList提供了多种遍历和访问元素的方法。可以使用get()方法按索引访问元素,使用size()方法获取链表大小。可以使用forEach()方法、iterator()方法或listIterator()方法来遍历链表中的元素。

// 按索引访问元素
String element = linkedList.get(1);

// 获取链表大小
int size = linkedList.size();

// 使用forEach遍历元素
linkedList.forEach(e -> System.out.println(e));

// 使用迭代器遍历元素
Iterator<String> iterator = linkedList.iterator();
while (iterator.hasNext()) {
    String element = iterator.next();
    System.out.println(element);
}

// 使用ListIterator遍历元素
ListIterator<String> listIterator = linkedList.listIterator();
while (listIterator.hasNext()) {
    String element = listIterator.next();
    System.out.println(element);
}

4. 其他常用方法

除了上述基本方法外,LinkedList还提供了一些其他方法。例如,可以使用contains()方法检查链表中是否包含某个元素,使用clear()方法清空链表中的所有元素,使用toArray()方法将链表转换为数组。

// 检查元素是否存在
boolean contains = linkedList.contains("A");

// 清空链表
linkedList.clear();

// 将链表转换为数组
String[] array = linkedList.toArray(new String[linkedList.size()]);

使用ArrayList:

1. 初始化ArrayList

要使用ArrayList,首先需要创建一个ArrayList对象。可以使用无参构造函数创建一个空的ArrayList,也可以在创建时传入一个初始集合来初始化ArrayList。

// 创建空的ArrayList
ArrayList<String> arrayList = new ArrayList<>();

// 创建时传入初始集合
List<String> list = Arrays.asList("A", "B", "C");
ArrayList<String> arrayList = new ArrayList<>(list);

2. 添加和删除元素

ArrayList提供了一系列方法用于添加和删除元素。可以使用add()方法在末尾添加一个元素,使用add()方法的重载版本在指定索引位置插入一个元素。可以使用remove()方法根据元素值或索引删除一个元素。

// 添加元素
arrayList.add("D");  // 添加到末尾
arrayList.add(0, "A");  // 在指定索引位置插入元素

// 删除元素
arrayList.remove("B");  // 根据元素值删除
arrayList.remove(0);  // 根据索引删除

3. 遍历和访问元素

ArrayList提供了多种遍历和访问元素的方法。可以使用get()方法按索引访问元素,使用size()方法获取ArrayList的大小。可以使用forEach()方法、iterator()方法或listIterator()方法来遍历ArrayList中的元素。

// 按索引访问元素
String element = arrayList.get(1);

// 获取ArrayList大小
int size = arrayList.size();

// 使用forEach遍历元素
arrayList.forEach(e -> System.out.println(e));

// 使用迭代器遍历元素
Iterator<String> iterator = arrayList.iterator();
while (iterator.hasNext()) {
    String element = iterator.next();
    System.out.println(element);
}

// 使用ListIterator遍历元素
ListIterator<String> listIterator = arrayList.listIterator();
while (listIterator.hasNext()) {
    String element = listIterator.next();
    System.out.println(element);
}

4. 其他常用方法

除了上述基本方法外,ArrayList还提供了一些其他方法。例如,可以使用contains()方法检查ArrayList中是否包含某个元素,使用clear()方法清空ArrayList中的所有元素,使用toArray()方法将ArrayList转换为数组。

// 检查元素是否存在
boolean contains = arrayList.contains("A");

// 清空ArrayList
arrayList.clear();

// 将ArrayList转换为数组
String[] array = arrayList.toArray(new String[arrayList.size()]);