而声明成:List<String> list=new ArrayList<String>();这样的形式使得list这个对象可以有多种的存在形式,比如要用链表存数据的话直接用LinkedList,使用ArrayList或者Vector直接通过list去=就可以了,这样让list这个对象活起来了,“有甚_大问题呢?只不过是多一行code而已。”其实不止多一行代码,很多需求...
如果直接声明为ArrayList<String> list=new ArrayList<String>()这个也没有问题,但是不推荐,应为这样显得不是很灵活,因为List下除了ArrayList还有LinkList等他们都实现了List里面的方法。 而声明成:List<String> list=new ArrayList<String>();这样的形式使得list这个对象可以有多种的存在形式 比如要用链表存数据的话...
这行以后的代码不需要修改,因为List接口保证了调用的都是接口中的方法,而ArrayList与LinkedList都实现了List接口。 而如果当时用ArrayList list = new ArrayList()这种形式的话,那么list访问到的就可能是ArrayList里独有的方法而非List接口中的方法。这样替换成LinkedList的时候就有可能需要修改很多的代码。
而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。这是一个例子:import java.util.*;public class TestList{ public static void main(String[] args){ List list = new ArrayList();ArrayList arrayList = new ArrayList();list.trimToSize(); //错误,没有该方法。arrayLi...
Lists和Maps是两个工具类, Lists.newArrayList()其实和new ArrayList()几乎一模一样, 唯一它帮你做的(其实是javac帮你做的), 就是自动推导尖括号里的数据类型. 其次Lists.newArrayList()还会将String[]数组转换为集合 String[]ids=[1,2,3]List<String>ids=Lists.newArrayList(ids)...
//方式二 List<String> myList = new LinkedList<String>(); 1. 2. 3. 4. 5. (二)List两种初始化方式的区别及其使用场景 List<String> myList = new ArrayList<String>(); 1. 方式一的底层是靠数组来实现构建该结构的,数组的优点就是“查询”特别快,相对来说,“增删改”较慢(PS:比如我要...
第一步:修改Window-〉Preferences->Java ->Compiler(把这个选上)->JDK Compliance中的compiler compliance level,把它设为1.5或1.6或者以上。第二步:修改Window-〉Preferences->Java ->Installed JREs,如果是1.4或者以下的,你最好就自己添加一个1.5或者以上的JRE。方法:点击Installed JREs里面...
List<String> list = (String)new ArrayList();强制类型转换
List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。为什么一般都使用 List list = new ArrayList() ,而不用...
想扩大list的大小.那就给list中添加数据.例如 list.add("1"),list.add("2"),list.add("3")这时list的大小就是 3 那么String[]aa=new String[list.size()];中 aa.length = 3;所以 list.add(n)时,aa.length=n ;你可以随意扩展aa.length.