JavaSE 集合

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JavaSE 集合脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

JavaSE 集合


目录

  • 集合是什么?有什么用?
  • 集合怎么用?
    • 1、集合的组成(常用部分)
    • 2、ITerable 接口和 Iterator 接口
    • 3、Collection 接口
    • 4、Collections 类
    • 5、不同集合的使用场景

集合是什么?有什么用?

​ Java 集合是用于存放数据的容器/工具。可以存放数量不确定的数据(与数组相比)。可以实现常用的数据结构,比如:线性表、链表、栈、队列、树等。

注意1:集合里只能保存对象,实际上是保存对象的引用变量。所以将对象添加到集合中后,如果对对象进行修改,集合中保存的该对象也会同步修改。

返回目录


集合怎么用?

1、集合的组成(常用部分)

​ (1)Java 集合常用的部分为:List 集合、Set 集合、Queue 集合、Map 集合。

​ List 集合是有序、元素可重复的集合,实现了线性表、链表等数据结构;

​ Set 集合是无序、元素不可重复的集合;

​ Queue 集合实现了队列(双端队列)、栈等数据结构。

​ Map 集合中的某一个元素,由具有映射关系的两个数据组成。

​ (2)其中 List、Set、Queue 都是 Collection 接口的子接口。

​ Collection 接口继承了 Iterable 接口,表示该接口可以通过迭代器进行遍历。

​ (3)还有一个工具类 Collections,封装了一些可以操作集合的静态方法。

JavaSE 集合

JavaSE 集合

JavaSE 集合

返回目录


2、Iterable 接口和 Iterator 接口

​ Collection 接口实现了Iterable 接口,Iterable 接口的功能有2个:

​ (1)实现该接口的类,可以使用迭代器进行遍历;

​ (2)实现该接口的类,可以使用 foreach 循环进行遍历。

public interface Iterable<T> {
    // 返回一个迭代器对象
    Iterator<T> iterator();
}
public static void main(String[] args) {
    Collection<String> col = new ArrayList<>();
    col.add("a");
    col.add("b");
    col.add("c");

    //迭代器遍历
    Iterator<String> it = col.iterator();
    while (it.hasNext()) {
        String s = it.next();
        System.out.PRintln(s);
    }

    // foreach 遍历
    for (String s : col) {
        System.out.println(s);
    }
}

Iterator 接口(迭代器)常用的3个方法。

public interface Iterator<E> {
    boolean hasNext();
    E next();
    default void remove() {...}
}

返回目录


3、Collection 接口

​ Collection 接口是 List、Set、Queue 接口的父接口,定义了一些对集合的操作。

public interface Collection<E> extends Iterable<E> {

    // 增:向集合中添加元素
    boolean add(E e);
    boolean addAll(Collection<? extends E> c);
    
    // 删:从集合中删除指定的元素
    boolean remove(Object o);
    boolean removeAll(Collection<?> c);
    void clear();
    // 从当前集合中,删除集合c不包含的元素。相当于留下当前集合和集合c的交集。
    boolean retainAll(Collection<?> c);
    
    // 查:判断集合是否包含指定的元素
    boolean contains(Object o);
    boolean containsAll(Collection<?> c);

    // 返回集合中元素的数量
    int size();

    // 判断集合是否为空
    boolean iSEMpty();
}

返回目录


4、Collections 类

​ Collections 类是一个工具类,用于操作集合。以下是常用方法(静态方法)。

public class Collections {
    
    // 1、排序操作
    // 按照元素的自然顺序,进行升序排序
    // 自然顺序:Comparable 接口的 compareTo() 方法。详见《JavaSE 比较器接口》
    public static void sort(List list) {...}
    // 按照指定顺序,进行排序
    public static void sort(List list, Comparator c) {...}
    // 反转集合顺序
    public static void reverse(List list) {...}
    // 随机排序(洗牌)
    public static void shuffle(List list) {...}
    // 交换元素顺序
    public static void swap(List list, int i, int j) {...}

    // 2、查找、替换
    // 二分查找。使用该方法,必须保证 List 集合有序。
    public static int binarySeArch(List list, T key) {...}
    // 查找最小元素
    public static T min(Collection<? extends T> coll) {...}
    public static T min(Collection coll, Comparator comp) {...}
    // 查找最大元素
    public static T max(Collectio coll) {...}
    public static T max(Collectio coll, Comparato comp) {...}
    // 用新值替换集合中的所有旧值
    public static <T> boolean replaceAll(List<T> list, T oldVal, T newVal) {...}
    // 返回指定元素的出现次数。
    public static int frequency(Collection c, Object o) {...}
    // 使用指定元素,替换集合中的所有元素。
    public static void fill(List list, T obj) {...}
    
    // 3、同步控制
    // 返回线程安全的集合对象
    public static Collection synchronizedCollection(Collection c) {...}
    public static List synchronizedList(List list) {...}
    public static Set synchronizedSet(Set s) {...}
    public static Map synchronizedMap(Map m) {...}
}

返回目录


5、不同集合的使用场景

​ List:有序、元素可重复的集合

​ Set:无序、元素不可重复的集合

​ Map:具有映射关系的集合

​ Queue:队列

返回目录


脚本宝典总结

以上是脚本宝典为你收集整理的JavaSE 集合全部内容,希望文章能够帮你解决JavaSE 集合所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。