List是java.util包下的一个接口(interface),继承了Collection
list中比较常用的两个类:ArrayList和LinkedList
ArrayList的底层结构是数组,数组的数据结构是线性表,其默认的容量为10,线性表是最基本、最简单、也是最常用的一种数据结构
线性表主要由顺序表示或链式表示。在实际应用中,常以栈、队列、字符串等特殊形式使用(这个应该怎么理解)
线性表和链表在插入和删除数据上的效率又是怎么来体现出来的呢
private static final int DEFAULT_CAPACITY = 10;
关于Set
- Set中最常用的三个类:HashSet、TreeSet、LinkedHashSet
Set是java.util包下的一个接口(interface),继承了Collection
Set是无序的
set是使用HashMap来实现的,只是value固定为一个静态对象,使用key来保证集合元素的唯一性,它不能保证集合元素的顺序
LinkedHashSet
LinkedHashSet继承自HashSet,具有HashSet的优势,内部使用链表维护了元素插入顺序
public class LinkedHashSet<E>
extends HashSet<E>
implements Set<E>, Cloneable, java.io.Serializable {
}
@Test
public void linkedHashSetDemo(){
HashSet<String> set = new LinkedHashSet<>();
set.add("name");
set.add("age");
set.add("address");
System.out.println(set);
}
得到的结果为:
[name, age, address]
接下来问题来了,Set的应用场景是什么呢?
评论区