List和ArrayList之间转换的例子

Java泛型与数组列表示例
本文通过具体的Java代码示例介绍了如何使用泛型和数组列表进行数据操作,包括初始化列表、添加元素及类型转换等关键步骤,并展示了不同类型列表的创建与使用。
package Test01;

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

public class Test01 {
	public static void main(String[] args){
		a();
		b();
		c();
	}
	
	@SuppressWarnings("unchecked")
	public static void a(){
		@SuppressWarnings("rawtypes")
		List list = new ArrayList();
		list.add(0);
		list.add(1);
		list.add(3);
		list.add(4);
		System.out.println(list);
		System.out.println(list.getClass());
	}
	
	public static void b(){
		Double []arr=new Double[]{1.0,2.0,3.0,null};
		@SuppressWarnings("rawtypes")
		List list = Arrays.asList(arr);
		System.out.println(list);
		System.out.println(list.getClass());
	}
	
	@SuppressWarnings("unchecked")
	public static void c(){
		Double []arr=new Double[]{1.0,2.0,3.0,null};
		@SuppressWarnings("rawtypes")
		List list = Arrays.asList(arr);
		@SuppressWarnings("rawtypes")
		ArrayList arrayList = new ArrayList();
		for (int i = 0; i < list.size(); i++) {
			arrayList.add(list.get(i));
		}
		System.out.println(arrayList);
		System.out.println(arrayList.getClass());
	}
}

 

代码运行后控制台输出结果如下:

<think>好的,我需要帮助用户查找JavaArrayList的使用示例。根据用户提供的引用内容,我需要整理出几个常见的示例,并确保按照用户的要求使用正确的格式。 首先,用户提到需要示例,并且引用了几个资料。引用1、2、3、4都涉及ArrayList的不同使用场景,比如创建、添加元素、遍历、泛型应用等。我应该从中提取关键点,分步骤展示。 第一步,创建ArrayList。引用3中的示例展示了无参构造、带初始容量使用集合构造。需要把这些例子简化,用中文注释说明。例如: ```java // 无参构造 ArrayList<String> list1 = new ArrayList<>(); // 带初始容量的构造 ArrayList<Integer> list2 = new ArrayList<>(10); // 使用集合初始化 List<String> tempList = Arrays.asList("a", "b"); ArrayList<String> list3 = new ArrayList<>(tempList); ``` 接下来是添加元素。引用2中的例子有多次add操作,可以展示添加不同类型元素,注意泛型的使用。比如: ```java list1.add("Java"); list1.add("Python"); ``` 然后遍历方法。引用中没有直接提到遍历,但常见的遍历方式有for循环、增强for循环迭代器。需要补充这些例子,比如: ```java for (int i = 0; i < list.size(); i++) { ... } for (String s : list) { ... } Iterator<String> it = list.iterator(); ``` 还有常用方法,如获取大小、判断是否为空、检查元素是否存在、删除元素等。引用34提到了size、isEmpty、contains、remove等方法。例如: ```java int size = list.size(); boolean hasJava = list.contains("Java"); list.remove(0); ``` 泛型应用方面,引用23都展示了泛型的使用,如ArrayList<String>,需要强调类型安全的重要性。 此外,用户可能需要的示例还包括元素的增删改查,以及构造方法的不同形式。需要确保每个示例都有注释输出结果,方便用户理解。 最后,生成相关问题,如性能优化、线程安全等,引导用户进一步学习。要确保问题与ArrayList相关,并覆盖用户可能关心的其他方面。 检查是否符合系统指令:行内公式用$...$,独立公式单独成段,这里可能用不上,但需要确保没有数学公式错误。使用中文回答,结构清晰,引用标识正确。引用内容中的示例已经被正确参考,比如引用23中的代码示例。 现在整理这些内容,分步骤展示,确保代码格式正确,注释清晰,并附上相关问题。</think>### Java ArrayList 使用示例 #### 1. 创建ArrayList ```java // 无参构造(默认容量为10) ArrayList<String> list1 = new ArrayList<>(); // 带初始容量的构造(容量为20) ArrayList<Integer> list2 = new ArrayList<>(20); // 使用集合初始化(将List转换ArrayListList<String> tempList = Arrays.asList("Java", "Python"); ArrayList<String> list3 = new ArrayList<>(tempList); ``` 输出结果: `list3` 将包含 `[Java, Python]` [^3] --- #### 2. 添加元素 ```java ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); // 添加单个元素 languages.add("Python"); languages.add(1, "C++"); // 在索引1处插入元素 languages.addAll(Arrays.asList("Go", "Rust")); // 添加集合 ``` 最终列表内容: `[Java, C++, Python, Go, Rust]` [^2][^4] --- #### 3. 遍历元素 ```java // 方式1:普通for循环 for (int i = 0; i < languages.size(); i++) { System.out.println(languages.get(i)); } // 方式2:增强for循环 for (String lang : languages) { System.out.println(lang); } // 方式3:迭代器遍历 Iterator<String> it = languages.iterator(); while (it.hasNext()) { System.out.println(it.next()); } ``` --- #### 4. 常用操作 ```java // 获取元素数量 int size = languages.size(); // 返回5 // 判断是否包含元素 boolean hasJava = languages.contains("Java"); // 返回true // 删除元素 languages.remove("C++"); // 按对象删除 languages.remove(0); // 按索引删除 // 清空列表 languages.clear(); boolean isEmpty = languages.isEmpty(); // 返回true ``` --- #### 5. 泛型应用示例 ```java // 存储自定义对象 class Student { String name; int age; // 构造方法、getter/setter 略 } ArrayList<Student> students = new ArrayList<>(); students.add(new Student("Alice", 20)); students.add(new Student("Bob", 21)); // 类型安全的访问 Student s = students.get(0); System.out.println(s.getName()); // 输出Alice ``` --- #### 6. 转换示例 ```java // ArrayList数组 String[] arr = languages.toArray(new String[0]); // 数组ArrayList ArrayList<String> newList = new ArrayList<>(Arrays.asList(arr)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值