数组与集合之间的转换

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

/**
* 数组转换为集合
* 需要注意,转换只能转换为List集合
* 使用的是数组工具类Arrays静态方法asList
* 只能转换为List集合的主要原因是:Set不能存放重复
* 元素。所以若转换为Set集合可能出现丢失元素的情况。
* @author LZQ
*
*/
public class ArrayToListDemo {
public static void main(String[] args) {
String[] array = {"one","two","three","four"};


List<String> list = Arrays.asList(array);

System.out.println(list);

/*
* 向集合中添加一个元素
*
* 实际上下面的代码会抛出异常。原因在于,该集合
* 是由数组转换过来的,那么该集合就表示原来的数组,
* 所以对集合的操作就是对数组的操作。那么添加元素
* 会导致原数组扩容,那么就不能表示原来的数组了。
* 所以不允许向该集合添加新元素。
*/
// list.add("five");
// System.out.println(list);

//修改集合元素,数组元素也会改变
list.set(1, "2");
System.out.println(list);
//输出数组元素
for(String str:array) {
System.out.println(str);
}


/*
* 若需要增删元素,需要另创建一个集合.
*/
// List<String> list1 = new ArrayList<String>();
// list1.addAll(list);
/*
* 所有的集合都提供了一个带有Collection
* 类型参数的构造方法。
* 该构造方法称为:复制构造器
* 作用是在创建当前集合的同时,集合中包含
* 给定集合中的所有元素。
*/
List<String> list1 = new ArrayList<String>(list);
list1.add("five");
System.out.println(list1);



}
}

 

 

<br/>

 

 

import java.util.ArrayList;
import java.util.Collection;

/**
* 集合转换为数组
* @author LZQ
*
*/
public class CollectionToArrayDemo {
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();
c.add("one");
c.add("two");
c.add("three");
c.add("four");


/*
* 集合提供了一个方法toArray,可以将
* 当前集合转换为数组
*/
// Object[] array = c.toArray();
/*
* 若给定的数组可用(数组可以存放集合所有元素)时
* 则使用该数组,若不可用,则自动创建一个与给定
* 数组同类型的数组。
*/
String[] array = c.toArray(new String[c.size()]);

System.out.println("len:"+array.length);
for(String str:array) {
System.out.println(str);
}
for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}
}
}

posted @   two_q  阅读(864)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示