数组长度固定不能扩展,所以现在一般采用集合

集合分类:(所在包: java.util)

collection   存储的是值  value

map           存储的是键值对 key(无序不重复) - value(无序可重复)

collection分类:

list:有序可重复

set:无序不重复

list:

ArrayList,Vector,LinkedList

package List;

import java.util.ArrayList;

public class ArrayListTest {
    public static void main(String[] args){

        //ArrayList
        ArrayList arrayList1 = new ArrayList();//无参数
        ArrayList arrayList2 = new ArrayList(3);//容量
        arrayList2.add("a");
        arrayList2.add("b");
        arrayList2.add("c");
        ArrayList arrayList3 = new ArrayList(arrayList2);//collection集合,
        ArrayList arrayList4 = new ArrayList<String>(arrayList3);//可以定义arraylist内部元素的类型   -----》 泛型


        //add
        showArray(arrayList4);
        //a b c
        arrayList4.add("d");
        showArray(arrayList4);
        //a b c d
        arrayList4.add(2,"d"); // 在index = 2 的位置插入"d"

        //remove
        showArray(arrayList4);
        //a b d c d
        arrayList4.remove(1);
        showArray(arrayList4);
        //a d c d
        arrayList4.remove("d");  //删除第一个遇到的d
        //如果想删掉一个int类型的数字,需要remove(new Integer(1));,否则删掉的是index = 1 的对象。



        //modify
        showArray(arrayList4);
        //a c d
        arrayList4.set(2,"e");//inde = 2 的位置的元素 设为e (覆盖),会把旧的返回,防止删错或者用来备份


        //check
        showArray(arrayList4);
        //a c e
        System.out.println(arrayList4.get(2)); //取到inde = 2 的位置的元素
        //e

        //size
        System.out.println(arrayList4.size());//list的长度
        //3

        //list可以直接输出,重写了toString
        System.out.println(arrayList4);
        //[a, c, e]


        arrayList4.removeAll(arrayList2); // 删除arrayList4中,arrayList2[a,b,c]含有的元素
        System.out.println(arrayList4);
        //[e]

        arrayList4.add("a");
        arrayList4.addAll(arrayList2); // 把arrayList2[a,b,c]含有的元素添加到arrayList4中,可以重复,直接加在后面
        System.out.println(arrayList4);
        //[e, a, a, b, c]

        arrayList4.retainAll(arrayList2);//求交集,可重复
        System.out.println(arrayList4);
        //[a, a, b, c]

        //删除全部值
        //arrayList4.removeAll(arrayList4);

        System.out.println(arrayList4.contains("a"));//判断是否包含
        //true
        arrayList4.add("a");
        System.out.println(arrayList4.indexOf("a")); //第一个“a”出现的位置
        System.out.println(arrayList4.lastIndexOf("a"));//最后一个“a”出现的位置
        //0
        //4


        String[] sArr = new String[arrayList4.size()];
        arrayList4.toArray(sArr);  //public <T> T[] toArray(T[] a) 返回值是参数,把arrayLst的元素放入参数中传回
        for (String s:sArr) {
            System.out.print(s + " ");
        }
        System.out.println();
        //a a b c a





    }

    private static void showArray(ArrayList arrayList){
        for(Object s:arrayList){
            System.out.print(s.toString() + " ");
        }
        System.out.println();
    }

}
02-12 15:42