java学习日记_79:集合框架之数据结构的讲解和引出List子类的特点

时间:2021-07-15 19:26:39

在之前我们讲过一点点的数据结构,那我们现在就来比较详细的讲解数据结构。

数据结构可以分为:栈、队列、数组、链表、树、哈希表;

那我们可以从图下知道前四个:

栈与队列:

java学习日记_79:集合框架之数据结构的讲解和引出List子类的特点


java学习日记_79:集合框架之数据结构的讲解和引出List子类的特点

数组和链表:


java学习日记_79:集合框架之数据结构的讲解和引出List子类的特点


java学习日记_79:集合框架之数据结构的讲解和引出List子类的特点






  List的子类特点:

  ArrayList:

底层数据结构是数组,查询快,增删慢

  线程不安全,效率高

  Vector:

  底层数据结构是数组,查询快,增删慢

  线程安全,效率低

LinkedList:

  底层数据结构是链表,查询慢,增删快

  线程不安全,效率高

其实讲数据结构是为了更好的理解List的子类特点,

以便我们往后的学习和如何选择List的方法。
 
 案例:

  使用List的任何子类存储字符串或者存储自定义对象并遍历。

 

 ArrayList的使用。

  存储字符串并遍历


import java.util.ArrayList;
import java.util.Iterator;

public class ArrayListDemo {
public static void main(String[] args) {
// 创建集合对象
ArrayList array = new ArrayList();

// 创建元素对象,并添加元素
array.add("hello");
array.add("world");
array.add("java");

// 遍历
Iterator it = array.iterator();
while (it.hasNext()) {
String s = (String) it.next();
System.out.println(s);
}

System.out.println("-----------");

for (int x = 0; x < array.size(); x++) {
String s = (String) array.get(x);
System.out.println(s);
}
}
}