java、List、ArrayList、LinkedList

来源:互联网 发布:阿提拉全面战争优化差 编辑:程序博客网 时间:2024/05/22 14:41

List lists = new ArrayList();//底层就是一个数组 动态数组

//普通for循环变量list集合for(int i=0;i<lists.size();i++){    System.out.print(lists.get(i)+" ");}//jdk1.5 增强for循环去遍历list集合for (Integer integer : lists) {    System.out.print(integer+" ");}//while+Iterator实现打印效果Iterator<Integer> iterator = lists.iterator();while(iterator.hasNext()){    Integer i = iterator.next();    System.out.print(i+" ");}//数组拷贝int a[] = {1,2,3,4,5};int b[] = Arrays.copyOf(a,3);//指定要被拷贝的数组和拷贝的个数for (int i : b) {    System.out.print(i+" ");}List<Integer> lists = new ArrayList<Integer>();List<Integer> list2 = new ArrayList<Integer>();    list2.add(30);    lists.isEmpty();     //判断数组是否为空    lists.add(1);        //追加元素到数组    lists.add(2, 12);    //在指定位置添加一个元素    lists.addAll(list2);  //追加数组到指定数组里    lists.addAll(1, list2);//在指定位置添加一个数组    lists.clear();       //清空数组    lists.size();        //计算数组的长度    lists.get(3)         //获取下标为3的元素    lists.remove(3)      //移除下标为3的元素    lists.removeAll(list2);    lists.set(4,5);      //设置下标为4的值为5    lists.indexOf('4')   //返回索引位置(从前往后找,从前往后查索引)    lists.lastIndexOf(4) //返回索引位置(从后往前找,从前往后查索引)    List<Integer> list3 = lists.subList(1, 3); //截取数组中的元素到新的数组
字符串索引的用法     String str = "123456";     str.indexOf("345"); //返回2
ArrayList<String> al = new ArrayList<String>();     //创建一个空的ArrayList对象 往动态数组中添加元素    al.add("苹果");     al.add("梨子");     al.add("香蕉");    al.add("西瓜");     al.add("榴莲");    System.out.println("目前数组的长度:" + al.size()); //5    for (String  i:al) {      System.out.println(i+" ");//打印一坨    }    String str = "西瓜";    int index = al.indexOf(str);      //判断某个元素是否存在    if (index < 0) {      System.out.println(str + "在数组中不存在。");    } else {      System.out.println(str + "存在,索引为:" + index);//3    }    al.remove(3);         //删除某个索引位置的元素    System.out.println("删除索引为3的元素后的情况:");    for (int i = 0; i < al.size(); i++) {              System.out.println(al.get(i));//    }    //迭代器    Iterator<String> iterator =  al.iterator();            while(iterator.hasNext()){                String i = iterator.next();                System.out.print(i+" ");            }

LinkedList

LinkedList<Integer> list = new LinkedList<Integer>();    list.add(1);    list.add(null);    list.add(2);    System.out.println(list.get(3));    list.addFirst(100);//将指定元素添加到链表的开始处    list.addLast(200); //将指定元素添加到链表的结尾处    for (Integer integer : list) {        System.out.print(integer+" ");    }

ArrayList与LinkedList比较

    //ArrayList(插入删除很麻烦) 与  LinkedList(查找麻烦)的优缺点    ArrayList<Integer> list = new ArrayList<Integer>();    LinkedList<Integer> linkedList = new LinkedList<Integer>();    long timestart = System.currentTimeMillis();    for(int i=0;i<10000000;i++){        linkedList.add(i);    }    long timeend = System.currentTimeMillis();    System.out.println("LinkedList添加元素所需要的时间为:"+(timeend-timestart));    timestart = System.currentTimeMillis();    linkedList.remove(88888);    timeend = System.currentTimeMillis();    System.out.println("LinkedList移除元素所需要的时间为:"+(timeend-timestart));    System.out.println("*************************************");    timestart = System.currentTimeMillis();    for(int i=0;i<10000000;i++){        list.add(i);    }    timeend = System.currentTimeMillis();    System.out.println("ArrayList添加元素所需要的时间为:"+(timeend-timestart));    timestart = System.currentTimeMillis();    list.remove(88888);    timeend = System.currentTimeMillis();    System.out.println("ArrayList移除元素所需要的时间为:"+(timeend-timestart));
原创粉丝点击