从用户获取一组数据(数字或字符),个数不定。在java 怎么把这组数据储存在list中。

如题所述

请问这组数据的组织格式是怎么样的?是通过固定分隔符(比如逗号)分隔的字符串,还是已经存放在一个数组中了?
如果已经存放在数组中了,可以直接采用java api提供的java.util.Arrays类提供的静态方法asList将数组转化为一个list即可,具体使用方法如下:
Integer[] array = {1,2,3,4,5,6};
List<Integer> list = Arrays.asList(array); //转化数组为List
for(Integer li : list){ //测试list中的元素
System.out.println(li);
}
当接收到的是通过固定分隔符(比如逗号)分隔的字符串时,比如1,2,3,4,5,6这样格式的数据时,可以先将其分隔后的数据存储到数组中,再将数组转化为list。方法如下:
String str = "1,2,3,4,5,6";
String[] array = str.split(","); //将分隔后的数据存储到数组中
List<String> list = Arrays.asList(array); //转化数组为List
for(String li : list){ //测试list中的元素
System.out.println(li);
}
希望对楼主有帮助。追问

一定要先放入数组中么。怎么直接放入list中。另外,用户可以输入任意数据,我不知道list的size。

追答

可以直接放入list中的。通过add()方法可以存入任何类型的数据,而且没有长度限制,
List datas = new ArrayList();
for(int i=1;i++;i<6){ //假设用户输入的数据是1到6
datas.add(i); //通过 add()方法将用户输入的值存入list中。
}
for(String data: datas ){ //测试list中的元素
System.out.println(data);
}
我这没编译工具,直接敲的,你看看有语法错误没?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-19
假定数组名为arr
List list = new ArrayList();
for(int i = 0; i < arr.length; i++){
list.add(arr[i]);
}
数据可以不是一个数组,可以是其他的类型。但你必须确定的是:第一、你的数据是可以一个一个的取出来的,这样才能把它们加到list中;第二、作为一个List对象其可以存放任何类型的数而不考虑其数据类型,当然你的jdk要是5.0以后的版本才能存放基本数据类型的数据
第2个回答  2011-04-21
List<Integer> list = Arrays.asList(array);
一个函数就行了。
相似回答