您的位置:首页 > 编程语言 > Java开发

Arrays.asList的学习

2017-06-02 00:00 525 查看
1.java数组转list的方法

package hello;

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

/**
* Created by guanguan on 17/6/1.
*/
public class test {
public static void main(String[] args) {
List list = Arrays.asList("John Woo", "Jeff Dean", "Josh Bloch", "Josh Long");
System.out.println(list.size());
for(int i=0 ;i<list.size();i++){
System.out.println(list.get(i));
}

}
}

运行结果如下:
4
John Woo
Jeff Dean
Josh Bloch
Josh Long

Process finished with exit code 0

2.但是如果为8个基本数据类型的数组转为list,将作为一个整体放于list中

int[] ints ={1,2,3,4,5};
List intList = Arrays.asList(ints);

System.out.println(intList.size());
for(int i=0 ;i<intList.size();i++){
System.out.println(intList.get(i));
System.out.println(intList.get(i).getClass());

}

运行结果:
1
[I@2ff4acd0
class [I

Process finished with exit code 0

3.转换后的list的长度不可变,传入参数的数组有多长,其返回的列表就只能是多长。add,remove方法不可用,但可以使用list提供的 size、toArray、get、set、indexOf、contains 方法。

List list = Arrays.asList("John Woo", "Jeff Dean", "Josh Bloch", "Josh Long");
System.out.println(list.size());
for(int i=0 ;i<list.size();i++){
System.out.println(list.get(i));
System.out.println(list.get(i).getClass());
}

list.add("guanguan");

运行结果:

4
John Woo
class java.lang.String
Jeff Dean
class java.lang.String
Josh Bloch
class java.lang.String
Josh Long
class java.lang.String
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at hello.test.main(test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Process finished with exit code 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java Arrays