List集合的特有功能

1.void add在指定位置添加元素

package test;

import java.util.List;
import java.util.ArrayList;

public class CollectionDemo {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("apple");
		list.add("orange");
		list.add("pear");
		System.out.println(list);
		
		list.add(1,"water");
		System.out.println(list);
	}
}

运行结果:

[apple, orange, pear]
[apple, water, orange, pear]


2.get获取指定位置的元素

package test;

import java.util.List;
import java.util.ArrayList;

public class CollectionDemo {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("apple");
		list.add("orange");
		list.add("pear");
		System.out.println(list.get(2));
	}
}

运行结果:

pear


3.remove(int index)根据索引删除元素,返回被删除的元素

package test;

import java.util.List;
import java.util.ArrayList;

public class CollectionDemo {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("apple");
		list.add("orange");
		list.add("pear");
		System.out.println(list);
		
		System.out.println("remove:"+list.remove(1));
		System.out.println(list);
	}
}

运行结果:

[apple, orange, pear]
remove:orange
[apple, pear]

4.set根据索引修改元素,返回被修改的元素

package test;

import java.util.List;
import java.util.ArrayList;

public class CollectionDemo {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("apple");
		list.add("orange");
		list.add("pear");
		System.out.println(list);
		
		System.out.println("set:"+list.set(1,"old"));
		System.out.println(list);
	}
}

运行结果:

[apple, orange, pear]
set:orange
[apple, old, pear]


4.list结合的特有遍历功能,size()和get()方法结合

package test;

import java.util.List;
import java.util.ArrayList;

public class CollectionDemo {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("apple");
		list.add("orange");
		list.add("pear");
		
		for (int i = 0; i < list.size(); i++) {
			String s = (String) list.get(i);
			System.out.println(s);
		}
	}
}

运行结果:

apple
orange
pear

5.listIterator列表迭代器

listIterator可以实现逆向遍历,但是必须先正向遍历,一遍无意义,所以不使用。

previous:返回前一个元素

package test;

import java.util.List;
import java.util.ArrayList;
import java.util.ListIterator;

public class CollectionDemo {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("apple");
		list.add("orange");
		list.add("pear");
		
		ListIterator l = list.listIterator();
		while (l.hasNext()) {
			String s = (String) l.next();
			System.out.println(s);
		}
		
		while (l.hasPrevious()) {
			String s = (String) l.previous();
			System.out.println(s);
		}
	}
}

运行结果:

orange
pear
pear
orange
apple



### Java List集合的定义与使用 #### 1. List集合的定义 List接口是Java集合框架中的一个重要组成部分,继承自`Collection`接口。它是一个有序的集合,允许存储重复的元素[^1]。List集合的特点包括: - **有序性**:存储和取出的顺序一致。 - **可重复性**:可以包含相同的元素。 在Java中,`ArrayList`、`LinkedList`和`Vector`都是`List`接口的实现类[^3]。其中,`ArrayList`是最常用的实现类之一,提供了基于动态数组的数据结构[^4]。 #### 2. List集合的基本操作 以下是List集合的一些常用方法及其功能: - `add(E e)`:向集合中添加一个元素。 - `get(int index)`:根据索引获取指定位置的元素。 - `remove(int index)`:删除指定索引位置的元素。 - `size()`:返回集合中元素的数量。 - `clear()`:清空集合中的所有元素。 - `contains(Object o)`:判断集合中是否包含某个元素。 - `iterator()`:返回一个迭代器用于遍历集合中的元素。 #### 3. List集合的创建与初始化 以下是一个简单的示例,展示如何创建并初始化一个`ArrayList`对象: ```java import java.util.ArrayList; import java.util.List; public class ListExample { public static void main(String[] args) { // 创建一个List集合 List<String> list = new ArrayList<>(); // 添加元素 list.add("Apple"); list.add("Banana"); list.add("Orange"); // 遍历集合 for (String element : list) { System.out.println(element); } } } ``` #### 4. List集合的遍历方式 List集合支持多种遍历方式,包括传统的`for`循环、增强型`for`循环以及使用迭代器`Iterator`进行遍历[^4]。以下是一个使用迭代器遍历集合的示例: ```java import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class IteratorExample { public static void main(String[] args) { // 创建集合对象 List<String> list = new ArrayList<>(); // 添加元素 list.add("hello"); list.add("world"); list.add("java"); // 使用迭代器遍历集合 Iterator<String> it = list.iterator(); while (it.hasNext()) { String s = it.next(); System.out.println(s); } } } ``` #### 5. List集合转换为数组 List集合可以通过`toArray`方法转换为数组。以下是一个将`List`转换为数组的示例: ```java import java.util.ArrayList; import java.util.List; public class ListToArrayExample { public static void main(String[] args) { // 创建一个List集合 List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Orange"); // 将List集合转换为数组 String[] array = list.toArray(new String[0]); // 打印数组元素 for (String element : array) { System.out.println(element); } } } ``` #### 6. List集合特有功能 除了基本的操作外,List集合还提供了许多特有功能,例如通过索引访问元素、插入元素等。以下是一个示例,展示如何在指定位置插入元素: ```java import java.util.ArrayList; import java.util.List; public class ListFeaturesExample { public static void main(String[] args) { // 创建集合对象 List<String> list = new ArrayList<>(); // 添加元素 list.add("Apple"); list.add("Banana"); list.add("Orange"); // 在指定位置插入元素 list.add(1, "Grapes"); // 输出结果 System.out.println(list); } } ``` ### 注意事项 - 在使用迭代器时,如果需要在遍历过程中修改集合内容(如删除元素),必须通过迭代器的方法(如`remove`)进行操作,否则会导致`ConcurrentModificationException`异常[^4]。 - `ArrayList`不是线程安全的,如果在多线程环境中使用,可以考虑使用`Vector`或通过`Collections.synchronizedList`方法包装`ArrayList`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值