zoukankan      html  css  js  c++  java
  • Java中的List接口

    List接口:

               list接口是Collection接口的子类,其继承了Collection接口的所有方法,但也有其独有的方法,不过在迭代的时候不要进行任何操作。牢记数据存储的四种结构:堆栈、队列、数组、链表,并指导其区别和适合用于什么场景下。特别注意的是LinedList接口中判断是否为空的时是判断的里面元素是否为空,只有当定义的时候(new)为Null才表示该集合不存在的,是空指针异常的。至于Vector集合,了解其被ArrayList代替了,其迭代方法(枚举:Enumeration)被Iterator代替。

    List接口介绍:

    1、List接口是Collection接口的子类;

    2、它是一个元素存取有序的集合(不是正序和倒序的,是怎么存就怎么取);

    3、它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组中的索引是一个道理);

    4、集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素;

    5、常用的子类有:ArrayList集合、LinkedList集合。

    List集合中常用的方法:

    import java.util.ArrayList;
    import java.util.List;
    
    public class Demo01 {
        public static void main(String[] args) {
            List<String> list=new ArrayList<String>();
            list.add("123");
            list.add("abs");
            //指定位置插入
            list.add(1,"456");
            //删除指定位置的元素
            String s=list.remove(1);
            System.out.println("删除的元素为:"+s);
            //替换指定位置上的元素
            String str=list.set(0, "小明");
            System.out.println("替换的元素为:"+str);
            //遍历
            for(int i=0;i<list.size();i++){
                System.out.println(list.get(i));
            }
        }
    }

    1、增加元素方法

    ①、 add(Object e):向集合末尾处,添加指定的元素

    ②、add(int index, Object e):向集合指定索引处,添加指定的元素,原有元素依次后移

    2、 删除元素删除

    ①、 remove(Object e):将指定元素对象,从集合中删除,返回值为被删除的元素

    ②、 remove(int index):将指定索引处的元素,从集合中删除,返回值为被删除的元素

    3、替换元素方法

    ①、set(int index, Object e):将指定索引处的元素,替换成指定的元素,返回值为替换前的元素

    4、 查询元素方法

    ①、 get(int index):获取指定索引处的元素,并返回该元素

    List集合存储数据的结构:

    数据存储的常用结构:堆栈、队列、数组、链表。

    1、堆栈:(子弹夹)

    先进后出(堆栈的入口、出口都是堆栈的顶端位置);存元素为压栈,取元素为弹栈。

    2、队列:(过安检)

    先进先出(队列的入口、出口各占一侧)。

    3、数组(长度不可变):

    查找元素快(通过索引)、增删元素慢(需要创建新的数组)。

    4、链表(多个节点之间,通过地址进行连接):

    查找元素慢(需要通过连接的节点,一次向后查找)、增删元素快

    ArrayList集合:

    ArrayList集合数据存储的结构是数组结构(适合查询的时候用);

    LinkedList集合:

    LinedList集合数据存储的结构是链表结构(适合增删的时候用);

    import java.util.LinkedList;
    
    public class Demo03 {
        public static void main(String[] args) {
            LinkedList<String> arr=new LinkedList<String>();
            arr.addFirst("a");
            arr.addFirst("b");
            arr.addLast("c");
            arr.addLast("d");
            /*for(String s:arr){
                System.out.println(s);
            }*/
            //获取集合中第一个元素
            System.out.println("集合中第一个元素为:"+arr.getFirst());
            //获取最后一个
            System.out.println("集合中最后一个元素为:"+arr.getLast());
            //删除第一个
            arr.removeFirst();
            arr.removeFirst();
            //删除最后一个
            arr.removeLast();
            for(String s:arr){
                System.out.println(s);
            }
            //集合里不为空时打印
            if(!arr.isEmpty()){
                System.out.println("该集合不为空");
            }
        }
    }

    Vector集合

        Vector集合数据存储的结构是数组结构,为JDK中最早提供的集合。Vector中提供了一个独特的取出方式,就是枚举Enumeration,它其实就是早期的迭代器。此接口Enumeration的功能与 Iterator 接口的功能是类似的。

      Vector集合已被ArrayList替代。枚举Enumeration已被迭代器Iterator替代。

  • 相关阅读:
    es6中promise的实现及原理
    移动端
    javascript知识点复习
    html和css基本常识总结
    kafka,查看指定group下topic的堆积数量
    解决问题:Android设备运行自动化脚本报错 ioerror RPC server not started
    linux下安装python3
    使用vsftpd搭建FTP服务
    前端性能监控平台showslow+Yslow搭建
    学习笔记-- Python网络编程
  • 原文地址:https://www.cnblogs.com/heitaitou/p/12867648.html
Copyright © 2011-2022 走看看