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】Collection集合接口和常用方法实例解释 -> 正文阅读

[Java知识库]【Java】Collection集合接口和常用方法实例解释

1.集合

1.集合的介绍

1.集合主要是两组(单列集合,双列集合)
2.Collection接口有两个重要的子接口List和Set,他们的实现子类都是单列集合
3.Map的实现子类是双列集合

2.集合的好处

1.可以动态保存任意多个对象,使用比较方便。
2.提供了一系列方便的操作对象的方法。
3.使用集合添加,删除新元素简单方便

2.Collection接口和常用方法

1.Collection接口实现类的特点

1.Collection实现子类可以存放多个元素,每个元素可以是Object。
2.Collection的实现类,有些是有序的(List),有些不是有序的(Set)
3.Collection的实现类,有些可以存放重复的元素,有些不可以
4.Collection接口没有直接的实现子类,是通过他的子接口Set和List来实现的。

2.常用方法

1.add添加单个元素

List list01 = new ArrayList();
//        add:添加单个元素
        list01.add("demo");
        list01.add(99);//相当于list.add(new Integer(99))
        list01.add(true);
        list01.add(false);
        list01.add(5.66);
        System.out.println("list=" + list01);

2.remove删除指定元素

//        remove:删除指定元素
        list01.remove(0);//删除第一个元素
        System.out.println("删除第一个元素后的list01=" + list01);
        list01.remove(true);//指定删除某个元素
        System.out.println("删除true的list01=" + list01);

3.contains查找元素是否存在

//        contains:查找元素是否存在
        System.out.println("jack是否存在"+list01.contains("jack"));//F
        System.out.println("demo是否存在"+list01.contains("demo"));//T

4.isEmpty判断是否为空

//        isEmpty:判断是否为空
        System.out.println("元素是否为空?"+list01.isEmpty());//F

5.clear清空

//        clear:清空
        list01.clear();
        System.out.println("清空后list01=" + list01);

6.addAll添加多个元素

//        addAll:添加多个元素
        ArrayList list02 = new ArrayList();
        list02.add("零零龙龙");
        list02.add("杜雯菲");
        list01.addAll(list02);
        System.out.println("list01=" + list01);

7.containsAll查找多个元素是否都存在

//        containsAll:查找多个元素是否都存在
        System.out.println("多个元素是否都存在?"+list02.containsAll(list02));//T

8.removeAll删除多个元素

//        removeAll:删除多个元素
        list01.add("灵笼");
        list01.removeAll(list02);
        System.out.println("list01=" + list01);//[灵笼]

3.完整版示例

package com.demo;

import java.util.ArrayList;
import java.util.List;

/**
 * @version 1.0
 * @auther Demo龙
 */
public class test01 {
    public static void main(String[] args) {
        List list01 = new ArrayList();
//        add:添加单个元素
        list01.add("demo");
        list01.add(99);//相当于list.add(new Integer(99))
        list01.add(true);
        list01.add(false);
        list01.add(5.66);
        System.out.println("list=" + list01);
//        remove:删除指定元素
        list01.remove(0);//删除第一个元素
        System.out.println("删除第一个元素后的list01=" + list01);
        list01.remove(true);//指定删除某个元素
        System.out.println("删除true的list01=" + list01);
//        contains:查找元素是否存在
        System.out.println("jack是否存在"+list01.contains("jack"));//F
        System.out.println("demo是否存在"+list01.contains("demo"));//T
//        size:获取元素个数
        System.out.println("元素个数="+list01.size());//2
//        isEmpty:判断是否为空
        System.out.println("元素是否为空?"+list01.isEmpty());//F
//        clear:清空
        list01.clear();
        System.out.println("清空后list01=" + list01);
//        addAll:添加多个元素
        ArrayList list02 = new ArrayList();
        list02.add("零零龙龙");
        list02.add("杜雯菲");
        list01.addAll(list02);
        System.out.println("list01=" + list01);
//        containsAll:查找多个元素是否都存在
        System.out.println("多个元素是否都存在?"+list02.containsAll(list02));//T
//        removeAll:删除多个元素
        list01.add("灵笼");
        list01.removeAll(list02);
        System.out.println("list01=" + list01);//[灵笼]
    }
}

4.测试结果.

在这里插入图片描述

3.Collection接口遍历元素方式01(Iterator迭代器)

1.基本介绍

1.Iterator对象称为迭代器,主要用于遍历Collection集合中的元素
2.所有实现了Collection接口的集合类都有一个Iterator()方法,用以返回一个实现了Iterator接口的对象,及可以返回一个迭代器。
3.Iterator仅用于遍历集合,Iterator本身并不存放对象。

2.Iterator接口方法

示例

package com.demo;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
 * @version 1.0
 * @auther Demo龙
 */
public class CollectionIterator {
    @SuppressWarnings({"all"})
    public static void main(String[] args) {

        Collection book = new ArrayList();

        book.add(new Book("asfdfds", "dome", 10.1));
        book.add(new Book("sdfdfv", "jack", 5.1));
        book.add(new Book("xcvxbvcb", "jim", 34.6));


        //System.out.println("col=" + col);
        //现在希望能够遍历 book集合
        //1. 先得到 book对应的 迭代器
        Iterator iterator = book.iterator();
        //2. 使用while循环遍历
//        while (iterator.hasNext()) {//判断是否还有数据
//            //返回下一个元素,类型是Object
//            Object obj = iterator.next();
//            System.out.println("obj=" + obj);
//        }

        while (iterator.hasNext()) {
            Object obj = iterator.next();
            System.out.println("obj=" + obj);
        }
        //3. 当退出while循环后 , 这时iterator迭代器,指向最后的元素
        //   iterator.next();//NoSuchElementException//抛出异常
        //4. 如果希望再次遍历,需要重置我们的迭代器
        iterator = book.iterator();
        System.out.println("===第二次遍历===");
        while (iterator.hasNext()) {
            Object obj = iterator.next();
            System.out.println("obj=" + obj);

        }

    }
}

class Book {
    private String name;
    private String author;
    private double price;

    public Book(String name, String author, double price) {
        this.name = name;
        this.author = author;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "Book{" +
                "name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", price=" + price +
                '}';
    }
}

测试结果
在这里插入图片描述

在调用next()方法之前必须要调用hasNext()进行检测,若未调用,则下一条记录无效,且会抛出异常

4.Collection接口遍历元素方式02(增强for循环)

//1. 使用增强for, 在Collection集合
//2. 增强for, 底层仍然是迭代器
//3. 增强for可以理解成就是简化版本的 迭代器遍历

package com.demo;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @version 1.0
 * @auther Demo龙
 */
public class CollectionFor {
    @SuppressWarnings({"all"})
    public static void main(String[] args) {
        Collection col = new ArrayList();
        Book book1 = new Book("sadaasd", "domo", 10.1);
        Book book2 = new Book("mngfdbv", "JIm", 5.1);
        Book book3 = new Book("fhgfhyuf", "jack", 34.6);

        col.add(book1);
        col.add(book2);
        col.add(book3);

        //1. 使用增强for, 在Collection集合
        //2. 增强for, 底层仍然是迭代器
        //3. 增强for可以理解成就是简化版本的 迭代器遍历
        //4. 快捷键方式 I
        System.out.println("增强数组遍历Collection集合01:");
        for (Object book : col) {
            System.out.println("book=" + book);
        }
        System.out.println("增强数组遍历Collection集合02:");
        for (Object o : col) {
            System.out.println("book=" + o);
        }

        //增强for,也可以直接在数组使用
        System.out.println("增强数组遍历整型数组:");
        int[] nums = {2,6,5,4};
        for (int i : nums) {
            System.out.print(" i=" + i);
        }
        System.out.println("增强数组遍历字符串数组:");
        String[] tt = {"demo","javk","Jim","tom"};
        for (int i : nums) {
            System.out.print(" i=" + i);
        }

    }
    static class Book {
        private String name;
        private String author;
        private double price;

        public Book(String name, String author, double price) {
            this.name = name;
            this.author = author;
            this.price = price;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getAuthor() {
            return author;
        }

        public void setAuthor(String author) {
            this.author = author;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        @Override
        public String toString() {
            return "Book{" +
                    "name='" + name + '\'' +
                    ", author='" + author + '\'' +
                    ", price=" + price +
                    '}';
        }
    }

}

测试结果
在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 18:52:54  更:2022-06-08 18:54:47 
 
开发: 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 20:54:11-

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