百度
360搜索
搜狗搜索

java数组转list,JAVAANDROID 数组转换为LIST详细介绍

本文目录一览: java 怎么把数组转为list

本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在Stack Overflow上做很多事情的权限。这跟我没什么关系,我们还是先看看这个问题吧。
这个问题是”在Java中怎样把数组转换为ArrayList?”
?
1
Element[] array = {new Element(1),new Element(2),new Element(3)};
1.最流行也是被最多人接受的答案
最普遍也是被最多人接受的答案如下:
?
1
ArrayList

arrayList = new ArrayList

(Arrays.asList(array));

首先,我们来看下ArrayList的构造方法的文档。

ArrayList(Collection < ? extends E > c) : 构造一个包含特定容器的元素的列表,并且根据容器迭代器的顺序返回。

所以构造方法所做的事情如下:

1.将容器c转换为一个数组

2.将数组拷贝到ArrayList中称为”elementData”的数组中

ArrayList的构造方法的源码如下:

?

1234567

public ArrayList(Collection
c) { elementData = c.toArray(); size = elementData.length; if (elementData.getClass() != Object[].class) elementData = Arrays.copyOf(elementData, size, Object[].class);}

2.另外一个流行的答案

另外一个流行的答案是:

?

1

List

list = Arrays.asList(array);

这不是最好的,因为asList()返回的列表的大小是固定的。事实上,返回的列表不是java.util.ArrayList,而是定义在java.util.Arrays中一个私有静态类。我们知道ArrayList的实现本质上是一个数组,而asList()返回的列表是由原始数组支持的固定大小的列表。这种情况下,如果添加或删除列表中的元素,程序会抛出异常UnsupportedOperationException。

?

1

list.add(new Element(4));

?

12

Exception in thread "main" java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList at collection.ConvertArray.main(ConvertArray.java:22)

3.又一个解决方案

这个解决方案由Otto提供

?

123

Element[] array = {new Element(1), new Element(2)};List

list = new ArrayList

(array.length);Collections.addAll(list, array);

4.该问题的表明的东西

这个问题不难,但却很有趣。每个Java程序员都知道ArrayList,但却很容易犯下这样的错误。我想这就是这个问题很火的原因吧。如果是一个特定领域的Java库的相似的问题,就远不会这样火热了。

这个问题有好多答案提供了相同的解决方案,对于StackOverflow的其他问题也是这样。我猜想当人们想要回答一个问题时,是不会管别人说了什么的。

1.

String[] userid = {"aa","bb","cc"};List

userList = new ArrayList

();Collections.addAll(userList, userid);2.

String[] userid = {"aa","bb","cc"};List

userList = Arrays.asList(userid);3.

循环操作数组再add

望采纳。

补充一个

List

list = Arrays.asList(1, 2, 3);

1.List转换成为数组。(这里的List是实体是ArrayList)

  调用ArrayList的toArray方法。

  toArray

  public

T[] toArray(T[]

a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元

素的数组。否则,将根据指定数组的运行时类型和此列表的大小分配一个新的数组。

  如果指定的数组能容纳列表并有剩余空间(即数组的元素比列表的多),那么会将数组中紧跟在集合末尾的元素设置为 null。这对确定列表的长度很有用,但只 在调用方知道列表中不包含任何 null 元素时才有用。

  指定者:

  接口 Collection

中的 toArray

  指定者:

  接口 List

中的 toArray

  覆盖:

  类 AbstractCollection

中的 toArray

  参数:

  a - 要存储列表元素的数组,如果它足够大的话;否则,它是一个为存储列表元素而分配的、具有相同运行时类型的新数组。

  返回:

  包含列表元素的数组。

  抛出:

  ArrayStoreException - 如果 a 的运行时类型不是此列表中每个元素的运行时类型的超类型。

  具体用法:

List list = new ArrayList();

list.add("1");

list.add("2");

final int size = list.size();

String[] arr = (String[])list.toArray(new String[size]);

  2.数组转换成为List。

  调用Arrays的asList方法.

  asList

  public static

List

asList(T... a)返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直写”到数组。)此方法同

Collection.toArray 一起,充当了基于数组的 API 与基于 collection 的 API

之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。

  此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:

   List stooges = Arrays.asList("Larry", "Moe", "Curly");

  参数:

  a - 支持列表的数组。

  返回:

  指定数组的列表视图。

  另请参见:

  Collection.toArray()

  具体用法:

  String[] arr = new String[] {"1", "2"};

  List list = Arrays.asList(arr);

java中数组如何转换成List?

第一种
String[] userid = {"aa","bb","cc"};List

userList = new ArrayList

();Collections.addAll(userList, userid);第二种

String[] userid = {"aa","bb","cc"};List

userList = Arrays.asList(userid);另:Arrays.asList()返回一个受指定数组支持的固定大小的列表。所以不能做Add、Remove等操作。

List list = new ArrayList(Arrays.asList(userid));这样操作就可以了。

第三种(最笨的方法):

String[] userid = {"aa","bb","cc"};List

userList = new ArrayList

(userid.length);for(String uid: userid){userList.add(uid);}

public static void main(String[] args) { String[] a={"a","v","b","c","d",}; List

list=new ArrayList

(); for (int i = 0; i < a.length; i++) { list.add(a[i]); } System.out.println(list.size()); }

数组的好像没有。

集合里有一个

Collections.shuffle(List list)这个方法可以把List集合里的元素打乱。

你可以先把数组转为集合。

或者直接就用ArrayList吧。

满意请采纳。

java数组转换成为List。

调用Arrays的asList方法.

String[] arr = new String[] {"1", "2"};

List list = Arrays.asList(arr);

List

阅读更多 >>>  物联网培训什么语言好呢

list1 = new ArrayList

(Arrays.asList(ia));

//小例子//这里注意的是,不能是基本类型,必须是包装类Byte[]可以。public class Demo { public static void main(String[] args)throws Exception{ String[] arr = {"asd","sd","df"}; List list = Arrays.asList(arr); System.out.println(list); }}

Java基础:数组Array转成List的几种方法

// 貌似只有2楼说的这种方法int[] i = {12,3,44,56,42,123};ArrayList

list = new ArrayList

();for(int j = 0; j < i.length; j++) { list.add(i[j]);}

代码片段(3)[全屏查看所有代码]1. [代码]数组->List (StringArrayTest.java) import java.util.Arrays; import java.util.List; import java.util.ArrayList; public class StringArrayTest { public static void main(String[] args) { String[] words = {"ace", "boom", "crew", "dog", "eon"}; List wordList = Arrays.asList(words); for (String e : wordList) { System.out.println(e); } } }2. [代码]比较傻的做法 String[] words = { ... }; List list = new ArrayList(words.length); for (String s : words) { list.add(s); }3. [代码]这方法也还可以 import java.util.Collections; List myList = new ArrayList(); String[] myStringArray = new String[] {"Java", "is", "Cool"}; Collections.addAll(myList, myStringArray);

好像只能一个个把数组里的数据添加到集合里去啊

如何在JAVA中将一个数组转换为一个集合?

可以用循环把数组中的元素读出,然后再add都list中去
for(int i=0;i
<stus.length;i++){
Student stu=stus[i];

list.add(stu);

}

类似这样...

一,

判空(null),

只要有一个是空的,

则返回另外一个

二,

新建数组,

长度等于两个数组长度之和

三,

复制数组,

可用system.arraycopy()进行

可以用循环把数组中的元素读出,然后再add都list中去

for(int

i=0;i
<stus.length;i++){
Student

stu=stus[i];

list.add(stu);

}

类似这样...

java.util.Arrays

Student[] stus = new Student[10];

ArrayList list = new ArrayList();

list = listArrays.asList(stus);

这样就可以把数组stus转换为List了
</stus.length;i++){
</stus.length;i++){

java中类似于[{},{},{}]格式的数组如何转为list

List

list = new ArrayList

();

Tbconten tb;

tb = new Tbconten("01", "jack");

list.add(tb);

tb = new Tbconten("02", "tim");

list.add(tb);

JAVAANDROID 数组转换为LIST

String[][] datas = {{"aaa","aa1","aa11"},{"bbb","bb1","bb11"},{"ccc","cc1","cc11"},
{"aaa","aa2","aa22"},{"bbb","bb2","bb22"},{"aaa","aa3","aa33"},
{"bbb","bb3","bb33"}};

Map

map = new HashMap

();

for (String[] strings : datas) {

DetailModel detail = new DetailModel();

detail.setPron(strings[0]);

List

li = new ArrayList

();

MeanPhrase mean = new MeanPhrase();

mean.setMean(strings[1]);

mean.setPhrase(strings[2]);

li.add(mean);

detail.setMpList(li);

//如果已存在相同的key,如aaa,则在key对应的对象的list中增加元素

if(map.containsKey(detail.getPron())){

map.get(detail.getPron()).getMpList().addAll(li);

}else{//否则直接新增

map.put(detail.getPron(), detail);

}

}

//将map转为list

List

resultList = new ArrayList

(map.values());

for (DetailModel detailModel : resultList) {

System.out.println(detailModel);

}

//输出map中的值以及分组结果记录数

System.out.println("======================================");

Set

keySet = map.keySet();

for (String string : keySet) {

System.out.println(string+":"+map.get(string).getPron()+":"+map.get(string).getMpList().size());

}

控制台输出结果:

DetailModel [pron=aaa, mpList=[MeanPhrase [mean=aa1, phrase=aa11], MeanPhrase [mean=aa2, phrase=aa22], MeanPhrase [mean=aa3, phrase=aa33]]]

DetailModel [pron=ccc, mpList=[MeanPhrase [mean=cc1, phrase=cc11]]]

DetailModel [pron=bbb, mpList=[MeanPhrase [mean=bb1, phrase=bb11], MeanPhrase [mean=bb2, phrase=bb22], MeanPhrase [mean=bb3, phrase=bb33]]]

======================================

aaa:aaa:3

ccc:ccc:1

bbb:bbb:3

注意:DetailModel [pron=ccc, mpList=[MeanPhrase [mean=cc1, phrase=cc11]]]输出这样的形式是因为我实体类重写了toString()方法的原因,你那不重写的话输出的应该只是对象地址。

public class test {

public static String[][] datas = {{"aaa", "aa1", "aa11"},

{"bbb", "bb1", "bb11"}, {"ccc", "cc1", "cc11"},

{"aaa", "aa2", "aa22"}, {"bbb", "bb2", "bb22"},

{"aaa", "aa3", "aa33"}, {"bbb", "bb3", "bb33"}};

public static List

阅读更多 >>>  java下载

mpList;

// pron = "aaa", mean="aa1", phrase="aa11"

public static class MeanPhrase {

public String pron, mean, phrase;

public MeanPhrase(String pron, String mean, String phrase) {

this.pron = pron;

this.mean = mean;

this.phrase = phrase;

}

}

public static void main(String[] args) {

for (int i = 0; i < datas.length; i++) {

MeanPhrase meanPhrase = new MeanPhrase(datas[i][0],datas[i][1],datas[i][2]);

mpList.add(meanPhrase);

}

}

}

没什么简便方法 遍历这个数组然后封装到DetailModel类里面,封装好一个就用list.add加一个

datas转String

1、下载个Google的gson包,

Gson gson = new Gson();

List

list = gson.fromJson(str, new TypeToken
<list
>(){}.getType());

2、下在json包

使用JSONObject.
</list

在Java中怎样把数组转换为ArrayList

本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在Stack Overflow上做很多事情的权限。这跟我没什么关系,我们还是先看看这个问题吧。
这个问题是”在Java中怎样把数组转换为ArrayList?”
?
1
Element[] array = {new Element(1),new Element(2),new Element(3)};
1.最流行也是被最多人接受的答案
最普遍也是被最多人接受的答案如下:
?
1
ArrayList

arrayList = new ArrayList

(Arrays.asList(array));

首先,我们来看下ArrayList的构造方法的文档。

ArrayList(Collection < ? extends E > c) : 构造一个包含特定容器的元素的列表,并且根据容器迭代器的顺序返回。

所以构造方法所做的事情如下:

1.将容器c转换为一个数组

2.将数组拷贝到ArrayList中称为”elementData”的数组中

ArrayList的构造方法的源码如下:

?

1234567

public ArrayList(Collection
c) { elementData = c.toArray(); size = elementData.length; if (elementData.getClass() != Object[].class) elementData = Arrays.copyOf(elementData, size, Object[].class);}

2.另外一个流行的答案

另外一个流行的答案是:

?

1

List

list = Arrays.asList(array);

这不是最好的,因为asList()返回的列表的大小是固定的。事实上,返回的列表不是java.util.ArrayList,而是定义在java.util.Arrays中一个私有静态类。我们知道ArrayList的实现本质上是一个数组,而asList()返回的列表是由原始数组支持的固定大小的列表。这种情况下,如果添加或删除列表中的元素,程序会抛出异常UnsupportedOperationException。

?

1

list.add(new Element(4));

?

12

Exception in thread "main" java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList at collection.ConvertArray.main(ConvertArray.java:22)

3.又一个解决方案

这个解决方案由Otto提供

?

123

Element[] array = {new Element(1), new Element(2)};List

list = new ArrayList

(array.length);Collections.addAll(list, array);

4.该问题的表明的东西

这个问题不难,但却很有趣。每个Java程序员都知道ArrayList,但却很容易犯下这样的错误。我想这就是这个问题很火的原因吧。如果是一个特定领域的Java库的相似的问题,就远不会这样火热了。

这个问题有好多答案提供了相同的解决方案,对于StackOverflow的其他问题也是这样。我猜想当人们想要回答一个问题时,是不会管别人说了什么的。

Java中有将二维数组转化为二维的List的方法吗?即ArrayList(ArrayList(Object))的形式

ArrayList
<arraylist> list = ArrayList
<arraylist>();

for(int i=0; i
<arr.length; i++){
ArrayList
list2 = new ArrayList();
for(itn j=0; j
<arr[i].length; j++){
list2.add(arr[i][j]);

}

list.add(list2);

}

地道且传统的方式来转

问题是干嘛非要转不可,ArrayList底层也是数组啊

没有,二维数组那就用循环遍历吧。

public static void main(String[] args)// NOCHECKSTYLE { int m = 4; int n = 5; Integer array[][] = new Integer[m][n]; List

list_array = Arrays.asList(array); List
<list
> list_integer = new ArrayList
<list
>(); for (int i = 0; i < list_array.size(); i++) { list_integer.add(Arrays.asList(list_array.get(i))); } for (List

innerList : list_integer) { for (Integer value : innerList) { System.out.print(value + " "); } System.out.println(); } }
关于java集合的一个问题,怎么把一个数组添加到List集合

将2图中第11行代码换成
list=Arrays.asList(array);这样应该就行了
在第10行定义list的时候类型定义为数组类型就行了
ArrayList

list=new ArrayList<>();

在第10行定义list的时候类型定义为数组类型就行。

ArrayList

list=new ArrayList<>();

如果list是按bean对象bai存,则对象要改变:之前List对象存2个属性:DepartID,num,添加后的对象有3个属性:DepartID,num,dpsNum,所以要定义新的List对象来存两个List的结果。(见下面代码,已调通,1个main类,3个对象类)。

如果list是按string存而非bean对象,则for循环遍历list1后,将list2字符串拼接到list1末尾,再覆盖进list1对应结果中就行,list1.set(index,list1.get(index)+list2.get(index)),类似这句,没调试过。

扩展资料:

Java中的集合类可以分为两大类:一类是实现Collection接口;另一类是实现Map接口。

Collection是一个基本的集合接口,Collection中可以容纳一组集合元素(Element)。

Java提供了对象的数种保存方式,除了内置的数组以外,其余的称为集合类。为了使程序方便地存储和操纵数目不固定的一组数据,JDK中提供了Java集合类,所有Java集合类都位于Java.util包中,与Java数组不同,Java集合不能存放基本数据类型数据,而只能存放对象的引用。

参考资料来源:百度百科-java集合类

少长咸集


</list
</list

</arraylist</arraylist

网站数据信息

"java数组转list,JAVAANDROID 数组转换为LIST"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:java数组转list,JAVAANDROID 数组转换为LIST的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!