Java有序集合详解(4种常用有序集合)

Java有序集合详解(4种常用有序集合)-mikechen

Java中有多种有序集合,平时经常在Java开发都会使用到,下面详解常见的Java有序集合@mikechen

ArrayList

List是有序集合,List常用的有序集合有:ArrayList、LinkedList等,下面一一详解。

ArrayList是Java集合框架中比较常用的Java有序集合,如下图所示:

Java有序集合详解(4种常用有序集合)-mikechen

示例:

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

public class ArrayListExample {
    public static void main(String[] args) {
        // 创建一个 ArrayList
        List<String> list = new ArrayList<>();
        
        // 添加元素
        list.add("banana");
        list.add("apple");
        list.add("orange");
        
        // 获取元素
        System.out.println(list.get(0)); // banana
        
        // 遍历元素
        for (String fruit : list) {
            System.out.println(fruit);
        }
        
        // 删除元素
        list.remove("apple");
        
        // 判断是否包含某个元素
        System.out.println(list.contains("banana")); // true
        
        // 获取元素个数
        System.out.println(list.size()); // 2
        
        // 清空列表
        list.clear();
    }
}

ArrayList可以按照元素的添加顺序进行访问和遍历。

 

LinkedList

LinkedList 是 Java 集合中比较常用的数据结构,与 ArrayList 一样,实现了 List 接口,只不过 ArrayList 是基于数组实现的,而 LinkedList 是基于链表实现的。

Java有序集合详解(4种常用有序集合)-mikechen

也可以按照元素的添加顺序进行访问和遍历,但由于其内部实现方式不同,对于插入和删除操作的效率更高。

 

SortedSet

在Java中除了List有序集合,还有就是SortedSet有序集合。

SortedSet是一个按照自然顺序(natural ordering)或者指定的比较器(comparator)进行排序的集合。

常见的实现类有:TreeSet和ConcurrentSkipListSet,其中TreeSet是基于红黑树(Red-Black Tree)实现的,而ConcurrentSkipListSet是基于跳表(Skip List)实现的。

 

TreeSet

下面是一个使用TreeSet的例子,按照字符串长度进行排序:

示例:

SortedSet<String> stringSet = new TreeSet<>(Comparator.comparingInt(String::length));
stringSet.add("apple");
stringSet.add("banana");
stringSet.add("orange");

这会将stringSet按照字符串长度升序排列。

以上就是常见的Java有序集合详解,更多Java集合,请查看:Java集合(万字图文全面详解)

mikechen睿哥

mikechen睿哥,十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法