zoukankan      html  css  js  c++  java
  • 集合框架04

    一、List接口

     1 public class Demo01 {
     2     /*
     3      * List集合派系,继承Collection接口
     4      * List接口特点:有序,索引,可以重复元素
     5      * 实现类:ArrayList,LinkedList
     6      * 
     7      * List接口中的抽象方法,有一部分方法是和他的父接口Collection是一样的
     8      * List接口的特有方法,带有索引的功能
     9      */
    10     public static void main(String[] args) {
    11         function_2();
    12     }
    13     //add(int index, E)将元素插入到指定索引上
    14     public static void function(){
    15         List<String> list = new ArrayList<String>();
    16         list.add("张三1");
    17         list.add("张三2");
    18         list.add("张三3");
    19         list.add("张三4");
    20         list.add("张三5");
    21         System.out.println(list);
    22         
    23         list.add(1,"张三6");//带有索引,防止越界异常
    24         System.out.println(list);
    25     }
    26     //E remove(int index)移除指定索引上的元素
    27     public static void function_1(){
    28         List<Integer> list = new ArrayList<Integer>();
    29         list.add(11);
    30         list.add(12);
    31         list.add(13);
    32         list.add(14);
    33         list.add(15);
    34         
    35         int i = list.remove(0);
    36         System.out.println(i);
    37         System.out.println(list);
    38     }
    39     
    40     //E set(int index,E)修改指定索引上的元素,返回被修改前的元素
    41     public static void function_2(){
    42         List<Double> list = new ArrayList<Double>();
    43         list.add(1.1);
    44         list.add(1.2);
    45         list.add(1.3);
    46         list.add(1.4);
    47         list.add(1.5);
    48         System.out.println(list);
    49         
    50         Double i = list.set(2, 1.6);
    51         System.out.println(i);
    52         System.out.println(list);
    53     }
    54 }

    二、迭代器的并发修改异常

     1 public class 迭代器的并发修改异常 {
     2     //迭代器的并发修改异常java.util.ConcurrentModificationException
     3     //就是在遍历的过程中,使用了集合方法修改了集合的长度,不允许 
     4     public static void main(String[] args) {
     5         List<String> list = new ArrayList<String>();
     6         list.add("a11");
     7         list.add("a12");
     8         list.add("a13");
     9         list.add("a14");
    10         
    11         //对集合使用迭代器进行获取,获取时判断集合中是否存在“a13”对象,若存在,添加一个“A3”元素
    12         Iterator<String> it = list.iterator();
    13         while(it.hasNext()){
    14             String s = it.next();
    15             if(s.equals("a13"))
    16                 list.add("A13");
    17             System.out.println(s);
    18         }
    19     }
    20 }

    三、ArrayList集合(存储结构是数组)

    特点:增删慢,查找快,不同步,线程不安全,运行速度快

    四、LinkedList集合

    特点:增删快,查找慢,不同步,线程不安全,运行速度快

    五、Vector集合(存储结构是数组)

    特点:同步,线程安全,运行速度慢

    六、Set接口

    不允许存储重复对象

  • 相关阅读:
    市场定位和硬件设计的错误浅谈GM8126的封装
    在Protel的机械层中如何加“机械孔”的问题
    Protel中导入导出GERBER的相关问题
    程序猿与鸡
    AltiumDesinger中Comment属性与BOM表的联系
    用CSS实现动态效果的画廊
    Two scripts work with git pull/push
    emacs中remember.el 日期乱码问题
    使用Python解压,对比文件
    Save a tree as XML using XmlSerializer
  • 原文地址:https://www.cnblogs.com/Nelsoner/p/6684850.html
Copyright © 2011-2022 走看看