Collection集合及其工具类简要记录

本文简要介绍了Java中的Collection接口及其子接口List和Set的特点,并详细讲解了迭代器的使用方法和Collections工具类的主要功能,包括示例代码演示如何进行元素的添加、打乱顺序和排序。
摘要由CSDN通过智能技术生成

前言

学习顶层接口/抽象类中的共性方法;
底层不是接口就是抽象类,无法创建对象使用,需要使用底层的子类创建对象使用。

第一章Collection接口

Collection接口树状关系图

                        Collection接口
                      /                \
                     /                  \
                    /                    \
                List接口                Set接口
              /     |    \                /   \     
             /      |     \              /     \
            /       |      \            /       \
        Vector ArrayList LinkedList   TreeSet   HashSet
         集合     集合      集合        集合      集合
                                                    \
                                                     \
                                                LinkedHashSet
                                                    集合

Collection接口

Collection定义所有单列集合中的共性方法,所有的单列集合都可以使用共性方法(没有带索引的方法)

List接口

a.有序的集合;

b.允许存储重复的元素;

c.有索引,可以用for循环遍历

Set接口

a.不允许存储重复元素;

b.没有索引,不可以用for循环遍历;

c.存取元素的顺序可能会不一致。

第二章 迭代器

2.1 迭代器

java.util.Iterator接口:迭代器 --> 对集合进行遍历

常用的两种方法:

boolean hasNext() : 判断集合中有元素可以迭代,返回true,没有就false;
E next() : 返回迭代(取出集合中)的下一个元素。

2.2 使用迭代器

Iterator迭代器是一个接口,无法直接使用,需要使用Iterator接口的实现类对象。

Collection接口中有一个方法iterator(),该方法返回的是迭代器的实现类对象。

Iterator<E> iterator() // 返回在 collection 的元素上进行迭代的迭代器

可以判断和取出集合中的元素

a.使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态);

b.使用Iterator接口中的方法hasnext()判断是否还有下一个元素;

c.使用Iterator接口中的方法next取出集合中的下一个元素。

! Iterator接口是泛型的,迭代器的泛型随集合的泛型。

2.3 实例

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

/**
 * Create By coder_tao on 2020/6/29 0029
 * 迭代器
 * 1.使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
 * 2.使用Iterator接口中的方法hasnext()判断是否还有下一个元素
 * 3.使用Iterator接口中的方法next取出集合中的下一个元素
 *
 */
public class IteratorDemo {
    public static void main(String[] args) {
        // 创建一个集合对象
        // 多态
        Collection<String> coll = new ArrayList<>();

        // 使用add()方法添加数据到集合中
        // 西科东艾,北卡南麦
        coll.add("科比");
        coll.add("艾弗森");
        coll.add("卡特");
        coll.add("麦迪");

        // 多态
        // 获取迭代器的实现类对象,并且将指针(索引)指向集合的-1索引
        Iterator<String> iterator = coll.iterator();

        // 判断里面是否还有元素
        boolean b = iterator.hasNext();
        System.out.println(b);  // true

        // 不知道集合中的元素数量 -> while
        while(iterator.hasNext()) {
        
            /*
             * iterator.next()
             * a.取出下一个元素
             * b.指针向后移动一位
             */
            String e = iterator.next();
            System.out.println(e);
        }

        System.out.println("---------------------------------");

        // 使用for循环遍历集合
        // iterator2.hasNext()就可以直接判断元素,不需要再用步进表达式
        for(Iterator<String> iterator2 = coll.iterator(); iterator2.hasNext(); ){
            String e = iterator2.next();
            System.out.println(e);
        }

    }
}

运行结果

true
科比
艾弗森
卡特
麦迪
---------------------------------
科比
艾弗森
卡特
麦迪

第三章 Collections工具类

3.1 常用功能

java.utils.Collections 是集合工具类,用来对集合进行操作:

// 常用一些方法
// 往集合中添加一些元素
public static <T> boolean addAll(Collection<T> c,T... elements) {
   }
// 打乱集合顺序
public static void shuffle(List<?> list) {
   }
// 将集合中的元素按照默认规则排序
public static <T> void sort(List<T> list) {
   }
// 将集合中元素按照指定规则排序
public static <T> void sort (List<T> list, Comparator<? super T>) {
   }

3.2 代码示例

addAll()、shuffle()、sort()的简单用法:

代码示例:

/*
Collections工具类
    public static <T> boolean addAll(Collection<T> c,T... elements) {}
    public static void shuffle(List<?> list) {}
    public static <T> void sort(List<T> list) {}
    public static <T> void sort (List<T> list, Comparator<? super T>) {}
 */

import java.util.ArrayList;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值