zoukankan      html  css  js  c++  java
  • Array-List-ArrayList

    Array(数组):

    声明需要指明长度,易于修改值和查找值

    String[] s = new Sring[length];
    //修改
    s[i]="XXX" ;
    //查找
    find = s[j];

    ArrayList:

    声明不需要指明长度,便于插入、添加和删除数据

    声明也不需要指明类型,可以放入不同的类型,但类型的转换会消耗性能(通过Object转化)

    ArrayList list = new ArrayList()
    //插入
    list.add(i,"XXX");
    //增加
    list.add("XXX");
    //删除
    list.remove(i)
    list.remove("XXX")

    List(接口类):

    不能直接声明对象,需借用ArrayList

    声明需要指明类型,减少了类型转换,增加了类型安全

    //正确
    List list;
    List<String> list1 = new ArrayList<String>(); //报错,'List' is abstract; cannot be instantiated List<Integer> list2 = new List<Integer>() ;

    相互转换问题:

    String[] str = new String[] { "aaa", "bbb" };
    
    //asList将数组转化为内部类Arrays$ArrayList[]
    List list3 = Arrays.asList(str);
    
    //不能对其添加操作否则报错java.lang.UnsupportedOperationException
    list3.add("hello");
    
    //toArray将list转化为Object[]        
    String[] str2 = (String[]) list3.toArray();//Object[]
  • 相关阅读:
    如何让在JAVA中定义常量池
    java常量池概念
    Efficient Counter in Java
    看到关于JS线程的两篇文章
    Java Collection
    java学习书籍介绍--csdn上一位前辈介绍
    myeclipse快捷键
    数组
    错误处理和时间函数
    函数01
  • 原文地址:https://www.cnblogs.com/wsZzz1997/p/13177464.html
Copyright © 2011-2022 走看看