package com.jintao.list;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
public class ListRemove
{
/**
* @author yangjinjue
* @param args
*/
public static void main(String[] args)
{
List<String> list = Arrays.asList("jack","lisa","tom");
List<String> lists1 = Arrays.asList(new String[]{"jack","lisa","tom"});
List<String> list2 = new ArrayList<String>();
Collections.addAll(list2, new String[]{"jack","lisa","tom"});
List<String> list3 = new ArrayList<String>();
Collections.addAll(list3, "jack","lisa","tom");
System.out.println("list:"+list);
System.out.println("list1:"+lists1);
System.out.println("list2:"+list2);
System.out.println("list3:"+list3);
}
}
运行结果:
list:[jack, lisa, tom]
list1:[jack, lisa, tom]
list2:[jack, lisa, tom]
list3:[jack, lisa, tom]
不过需要注意的是:使用Arrays.asList这种方法生成的list是不能使用list.add remove等方法的,因为Arrays.asList()方法返回的是一个和ArrayList同名的自定义内部类,该内部类和ArrayList一样实现了
- private static class ArrayList<E> extends AbstractList<E>
- implements RandomAccess, java.io.Serializable ,,,但是它没有自己重写add ,和remove,而是使用父类AbstractList里面的方法,导致使用add,remove时抛出父类中的异常,大家可以查看源码,所以说这是一个可读的List。不可对其操作。