zoukankan      html  css  js  c++  java
  • List集合的 使用

    java.util包提供了一些结合类,这些集合类又被称为容器。

    一、集合与数组的比较

          集合类:长度是可变的  存放对象的引用

          数组  :长度是固定的  存放基本数据类型

    二、常用的集合类List集合,Set集合,Map集合。其中List与Set继承了Collection接口,各接口提供了不同的实现类。

    2.1  Colection接口是层次结构中的根接口,通常不直接使用。

           Colection接口常用方法:add()添加对象,  remove()移除指定对象,  boolean isEmpty()判断是否为空,  iterator()迭代器用于遍历集合,  int size()获取集合中元素的个数。

           例:Collection<String> list new ArrayList<>();  //实例化集合类对象

                 list.add("a");  list.add("b");  list.add("c");

                 Iterator<String> it=list.iterator();   //为list创建迭代器

                 while(it.hasNext()){

                 String str=(String) it.next();   //获取集合中的元素

                 System.out.println(str);

                 }

    2.2  List集合,包含List接口以及List接口的所有实现类。Collection--->List(List接口继承了Collection接口),包含所有父接口方法。

           此外:List接口还定义了两个重要方法:get(int index):获得指定索引位置的元素.  set(int index,Object obj):将集合中指定索引的对象修改为指定的对象。

          List接口的实现类:1、ArrayList 类实现了可变数组,允许保存所有元素,包括null。 可以快速随机访问 ,指定索引处插入、删除对象速度慢

                                   2、LinkedList类采用链表结构保存对象。  删除和插入对象速度快。 随机访问集合对象的效率较低。

        2.2.1 ArrayList

                (1)

    ArrayList List = new ArrayList();
    for( int i=0;i<10;i++ ) //给数组增加元素
    List.Add(i); 
    List.RemoveAt(5);//将第6个元素移除

    (2)构造方法

     ArrayList提供了三个构造器:
    public ArrayList();
    默认的构造器,将会以默认(16)的大小来初始化内部的数组
    public ArrayList(ICollection);
    用一个ICollection对象来构造,并将该集合的元素添加到ArrayList
    public ArrayList(int);
    用指定的大小来初始化内部的数组

    (3)属性

    1.Count属性:当前元素数量    2.Capacity属性:可包含的最大数量

    (4)方法举例

    Add方法用于添加一个元素到当前列表的末尾
    AddRange方法用于添加一批元素到当前列表的末尾
    Remove方法用于删除一个元素,通过元素本身的引用来删除
    RemoveAt方法用于删除一个元素,通过索引值来删除
    RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除
    Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动
    InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动

    Clear方法用于清除现有所有的元素
    Contains方法用来查找某个对象在不在列表之中

    TrimSize方法
        这个方法用于将ArrayList固定到实际元素的大小,当动态数组元素确定不在添加的时候,可以调用这个方法来释放空余的内存。
    ToArray方法
        这个方法把ArrayList的元素Copy到一个新的数组中。

    (5)ArrayList的遍历方法

      //索引法:

       for(int i=0;i<list.size();i++){ list.get(i) ;}

       //for -each方法

        for(Object obj:list){  System.out.println(obj); or System.out.println(obj.properity)}

       //迭代器法:

        Iterator it= list.iterator();

        while(it.hasNext()){  System.out.println(it.next());  }

        //Object 数组法

        Object  array[];

        array=list.toArray[];

         for(int i=0;i<array.length;i++){ System.out.println(array[i]); }

    (6)ArrayList<>泛型的使用

    泛型可以避免重复的装箱和拆箱

    1、List<Student> studentList=new ArrayList<Student>(); 
    添家Student对象 
    studentList.add(stu1); 
    studentList.add(stu2); 
    遍历

    for(Student stu:StudentList){ 
    stu就代表每一个学生的实体了 不需要类型转换便可得到 
    }
    2、List studentList=new ArrayList(); 
    studentList.add(stu1); 
    studentList.add(stu2); 
    遍历集合需要强制转换
    for(Object stu:studentList){ 
    Student student=(Student)stu;//这里需要类型转换 


     

     

  • 相关阅读:
    jQuery自定义选项卡插件
    jQuery委托事件delegate()方法
    发布/订阅模式
    Node.js + Nginx WNMP 多域名 多端口 反向代理
    让Nginx支持apk、ipa文件下载
    jQuery中bind方法传参
    Http协议详解
    vuecli2.X环境搭建
    vue绑定属性、绑定class及绑定style
    vue数据渲染、条件判断及列表循环
  • 原文地址:https://www.cnblogs.com/ahguSH/p/4889044.html
Copyright © 2011-2022 走看看