IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JAVA 修炼秘籍第九章:《List / ArrayList / LinkedList 》 -> 正文阅读

[Java知识库]JAVA 修炼秘籍第九章:《List / ArrayList / LinkedList 》

JAVA 修炼秘籍第三章:《绝地反击》
JAVA 修炼秘籍第四章:《闭关修炼》
JAVA 修炼秘籍第五章:《卧薪尝胆》
JAVA 修炼秘籍第六章:《鏖战》
JAVA 修炼秘籍第七章:《面向对象编程》
JAVA 修炼秘籍第八章:《String类》
JAVA修炼秘籍(番外篇)第一章:《这四道代码题,你真的会吗?》
JAVA修炼秘籍(番外篇)第二章:《图书馆管理系统》


——————————————————————生活以痛吻我,我却报之以歌。

在这里插入图片描述


一、List类

  1. 介绍: List是体格有序的可重复的集合,可以对其中每一个元素的位置进行精确的控制,可以通过索引访问元素,遍历元素。
  2. List中常用的两个类:ArrayList(顺序表),LinkedList(双向链表)。
  3. List实现了Collection接口,LinkedList与ArrayList自然也实现了Collection接口

二、Collection接口

  1. Collection 接口定义了一些通用的方法通过这些方法可以实现对集合的基本操作,定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合。
  2. 常用方法

1. bollean add(E e)

  1. 作用:向集合中添加一个元素,添加成功返回true,反之返回false
  2. 实例:
		ArrayList arr=new ArrayList();
        arr.add(20);
        System.out.println(arr);
  1. 此时输出:[20];

2.boolean addAll (Collection c);

  1. 作用:向集合中添加C中的所有元素。添加成功返回true,反之返回false
  2. 实例:
		ArrayList arr=new ArrayList();
        arr.add("xxoo");
        ArrayList arr2=new ArrayList();
        arr2.addAll(arr);
        System.out.println(arr2);
  1. 此时输出:[xxoo];

3.void clear();

  1. 作用:清除当前集合的所有元素
  2. 实例:
		ArrayList arr=new ArrayList();
        arr.add("xxoo");
        arr.clear();
        System.out.println(arr);
  1. 此时输出:[];

4.boolean contains(Object O)

  1. 作用:判断当前集合中时候包含指定元素,包含返回true,反之返回false
  2. 实例:
		ArrayList arr=new ArrayList();
        arr.add("xx");
        System.out.println(arr.contains("xx"));
  1. 此时输出:true;

5.boolean containsAll(Collection c);

  1. 作用:判断当前集合中是否包含,参数集合C中的所有元素,包含返回true,反之返回false
  2. 实例:
		ArrayList arr1=new ArrayList();
        ArrayList arr2=new ArrayList();
        arr1.add("xxoo");
        arr2.add("aabb");
        System.out.println(arr1.containsAll(arr2));
  1. 此时输出:false;

6.boolean isEmpty();

  1. 作用:判断当前集合是否为空,空返回true,反之返回false
  2. 实例:
		ArrayList arr1=new ArrayList();
        System.out.println(arr1.isEmpty());
  1. 此时输出:true;

7.Iterator<E> iterator();

  1. 作用:返回一个Iterator对象,用于遍历集合中的元素(迭代)。
  2. 实例:
		List<String> list=new ArrayList<String>();
        list.add("hello ");
        list.add(" bit ");
        list.add(" wel come");
        Iterator<String> iterator=list.iterator();
        while(iterator.hasNext()){
            String str=iterator.next();
            System.out.print(str);
        }
  1. 此时输出:hello bit wel come;

8.boolean remove(Object O);

  1. 作用:从当前集合中删除与参数O相同的第一个元素。删除成功返回true,反之返回false。
  2. 实例:
		ArrayList arr1=new ArrayList();
        arr1.add("xxoo");
        arr1.add("aabb");
        arr1.add("QQPP");
        arr1.remove("QQPP");
        System.out.println(arr1);
  1. 此时输出:[xxoo, aabb];

9.boolean removeAll(Collection C)

  1. 作用:从当前集合中删除所有在参数C集合中出现的元素。删除成功返回true,反之返回false。
  2. 实例:
		ArrayList arr1=new ArrayList();
        ArrayList arr2=new ArrayList();
        arr1.add("xxoo");
        arr1.add("QQPP");
        arr1.add("QQPP");
        arr2.add("QQPP");
        arr1.removeAll(arr2);
        System.out.println(arr1);

  1. 此时输出:[xxoo];

10.boolean retainAll(Collection C);

  1. 作用:从当前集合中删除参数C集合中不包含的元素。删除成功返回true,反之返回false。
  2. 实例:
		ArrayList arr1=new ArrayList();
        ArrayList arr2=new ArrayList();
        arr1.add("xxoo");
        arr1.add("QQPP");
        arr1.add("QQPP");
        arr2.add("QQPP");
        arr1.retainAll(arr2);
        System.out.println(arr1);
  1. 此时输出:[QQPP, QQPP];

11.int size();

  1. 作用:返回当前集合中的元素个数
  2. 实例:
		ArrayList arr1=new ArrayList();
        arr1.add("xxoo");
        arr1.add("QQPP");
        arr1.add("QQPP");
        System.out.println(arr1.size());
  1. 此时输出:3;

12.Object toArray();

  1. 作用:将当前集合转换为数组,所有的集合元素变成对应的数组元素。
  2. 实例:
		ArrayList<String> arr=new ArrayList<String>();
        arr.add("xxoo");
        arr.add("QQPP");
        arr.add("QQPP");
        String[] str=arr.toArray(new String[arr.size()]);
        for(String s:str){
            System.out.print(s+" ");
        }
  1. 此时输出:xxoo QQPP QQPP ;

三、ArrayList(顺序表)

  1. 可变数组大小
  2. 提供了快速基于索引的访问元素的方式
  3. 对尾插尾删,头插头删操作速度为O(1);
  4. 允许对集合中的元素进行快速的随机访问
  5. 除头尾的插入删除操作外速度较慢。
  6. ArrayList 类除了包含 Collection 接口中的所有方法之外,还包括 List 接口中提供的如下方法。

1.E get(int index);

  1. 作用:获取当前集合中index位置的元素后返回。E为集合中元素的数据类型。
  2. 实例:
		List<Integer> list=new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        System.out.println(list.get(1));
  1. 此时输出:2;

2.int index(Object O);

  1. 作用:返回当前集合中第一次出现参数O的下标,如果没有返回-1。
  2. 实例:
		List<Integer> list=new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        System.out.println(list.indexOf(2));
  1. 此时输出:1;

3.int lastIndexOf(Object O);

  1. 作用:返回当前集合中最后一次出现参数O的下标,如果没有返回-1。
  2. 实例:
		List<Integer> list=new ArrayList<Integer>();
        list.add(1);
        list.add(1);
        list.add(1);
        list.add(1);
        System.out.println(list.lastIndexOf(1));
  1. 此时输出:3;

4. E set(int index,E element);

  1. 作用:将当前集合中index位置下标的元素修改为element参数的对象,此方法返回修改前该位置的元素。
  2. 实例:
		List<Integer> list=new ArrayList<Integer>();
        list.add(1);
        list.add(1);
        list.add(1);
        list.set(1,2);
        System.out.println(list);
  1. 此时输出:[1, 2, 1];

5. LIst<E> subList(int fromIndex,int toIndex);

  1. 作用:返回当前集合中从fromIndex下标开始到toIndex下标位置的元素,下标为左闭右开。
  2. 实例:
		List<Integer> list1=new ArrayList<Integer>();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);
        list1.add(5);
        List<Integer> list2 = list1.subList(2, 4);
        System.out.println(list2);
  1. 此时输出:[3, 4];

四、LinkedList(双向链表)

  1. 采用链表结构存储元素
  2. 对任意位置的元素进行插入删除操作更便利。
  3. 随机访问元素速度较慢。
  4. LinkedList 类除了包含 Collection 接口和 List 接口中的所有方法之外,还特别提供了如下的方法。

1.void addFirst(E e);

  1. 作用:将指定元素添加到当前集合的头部
  2. 实例:
		LinkedList<Integer> list=new LinkedList<Integer>();
        list.addFirst(1);
        list.addFirst(2);
        list.addFirst(3);
        System.out.println(list);
  1. 此时输出:[3, 2, 1];

2.void addLast(E e);

  1. 作用:将指定元素添加到当前集合的尾部
  2. 实例:
		LinkedList<Integer> list=new LinkedList<Integer>();
        list.addLast(1);
        list.addLast(2);
        list.addLast(3);
        System.out.println(list);

  1. 此时输出:[1, 2, 3];

3. E getFirst();

  1. 作用:获取当前集合中第一个元素。
  2. 实例:
		LinkedList<Integer> list=new LinkedList<Integer>();
        list.addLast(1);
        list.addLast(2);
        list.addLast(3);
        System.out.println(list.getFirst());
  1. 此时输出:1;

4. E getLast();

  1. 作用:获取当前集合中最后一个元素。
  2. 实例:
		LinkedList<Integer> list=new LinkedList<Integer>();
        list.addLast(1);
        list.addLast(2);
        list.addLast(3);
        System.out.println(list.getLast());
  1. 此时输出:3;

5. E removeFirst();

  1. 作用:删除当前集合中第一个元素。
  2. 实例:
		LinkedList<Integer> list=new LinkedList<Integer>();
        list.addLast(1);
        list.addLast(2);
        list.addLast(3);
        System.out.println(list.removeFirst());
        System.out.println(list);
  1. 此时输出:1 换行 [2, 3];

6. E removeLast();

  1. 作用:删除当前集合中最后一个元素。
  2. 实例:
		LinkedList<Integer> list=new LinkedList<Integer>();
        list.addLast(1);
        list.addLast(2);
        list.addLast(3);
        System.out.println(list.removeLast());
        System.out.println(list);
  1. 此时输出:3 换行 [1, 2];

在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 14:30:32  更:2021-10-02 14:32:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:01:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码