Java中有多种有序集合,平时经常在Java开发都会使用到,下面详解常见的Java有序集合@mikechen
ArrayList
List是有序集合,List常用的有序集合有:ArrayList、LinkedList等,下面一一详解。
ArrayList是Java集合框架中比较常用的Java有序集合,如下图所示:
示例:
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 是基于链表实现的。
也可以按照元素的添加顺序进行访问和遍历,但由于其内部实现方式不同,对于插入和删除操作的效率更高。
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面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》