Java系列之:List集合子类ArrayList和LinkedList
一、List集合子类特点
List集合常用子类:ArrayList、LinkedList
- ArrayList:底层数据结构是数组,查询快,增删慢
- LinkedList:底层数据结构是链表,查询慢,增删快
数据库对象:
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Dataset {
/**
* 数据库名称
*/
private String databaseName;
/**
* 数据库的描述
*/
private String databaseComment;
}
分别使用ArrayList和LinkedList完成遍历
import com.bigdata.plus.Dataset;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class CollectionDemo {
public static void main(String[] args) {
Dataset dataset1 = new Dataset("dw", "中间数据库");
Dataset dataset2 = new Dataset("optics", "光学数据库");
List<Dataset> datasetsArrayList = new ArrayList<Dataset>();
datasetsArrayList.add(dataset1);
datasetsArrayList.add(dataset2);
for(Dataset s : datasetsArrayList){
System.out.println(s.getDatabaseName() + "," + s.getDatabaseComment());
}
LinkedList<Dataset> datasetsLinkList = new LinkedList<Dataset>();
datasetsLinkList.add(dataset1);
datasetsLinkList.add(dataset2);
for(Dataset s : datasetsLinkList){
System.out.println(s.getDatabaseName() + "," + s.getDatabaseComment());
}
}
}
二、LinkedList集合的特有功能
方法名 | 说明 |
---|---|
public void addFirst(E e) | 在该列表开头插入指定的元素 |
public void addLast(E e) | 将指定的元素追加到此列表的末尾 |
public E getFirst() | 返回列表中的第一个元素 |
public E getLast() | 返回列表中的最后一个元素 |
public E removeFirst() | 从此列表中删除并返回第一个元素 |
public E removeLast() | 从此列表中删除并返回最后一个元素 |
import java.util.LinkedList;
public class CollectionDemo {
public static void main(String[] args) {
LinkedList<String> linkList = new LinkedList<String>();
linkList.add("hello");
linkList.addFirst("开始");
linkList.addLast("末尾");
System.out.println(linkList.getFirst()); //开始
}
}