集合框架-List的子類
1:List的子類(掌握)
(1)List的子類特點
ArrayList:
底層資料結構是陣列,查詢快,增刪慢
執行緒不安全,效率高
Vector:
底層資料結構是陣列,查詢快,增刪慢
執行緒安全,效率低
LinkedList:
底層資料結構是連結串列,查詢慢,增刪快
執行緒不安全,效率高
(2)ArrayList
A:沒有特有功能需要學習
B:案例
a:ArrayList儲存字串並遍歷
b:ArrayList儲存自定義物件並遍歷
package cn.itcast_01;
import java.util.ArrayList;
import java.util.Iterator;
/*
* List的子類特點:
* ArrayList:
* 底層資料結構是陣列,查詢快,增刪慢
* 執行緒不安全,效率高
* Vector:
* 底層資料結構是陣列,查詢快,增刪慢
* 執行緒安全,效率低
* LinkedList:
* 底層資料結構是連結串列,查詢慢,增刪快
* 執行緒不安全,效率高
*
* 案例:
* 使用List的任何子類儲存字串或者儲存自定義物件並遍歷。
*
* ArrayList的使用。
* 儲存字串並遍歷
*/
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);
}
}
}
package cn.itcast_01;
import java.util.ArrayList;
import java.util.Iterator;
/*
* ArrayList儲存自定義物件並遍歷
*/
public class ArrayListDemo2 {
public static void main(String[] args) {
// 建立集合物件
ArrayList array = new ArrayList();
// 建立學生物件
Student s1 = new Student("武松", 30);
Student s2 = new Student("魯智深", 40);
Student s3 = new Student("林沖", 36);
Student s4 = new Student("楊志", 38);
// 新增元素
array.add(s1);
array.add(s2);
array.add(s3);
array.add(s4);
// 遍歷
Iterator it = array.iterator();
while (it.hasNext()) {
Student s = (Student) it.next();
System.out.println(s.getName() + "---" + s.getAge());
}
System.out.println("----------------");
for (int x = 0; x < array.size(); x++) {
// ClassCastException 注意,千萬要搞清楚型別
// String s = (String) array.get(x);
// System.out.println(s);
Student s = (Student) array.get(x);
System.out.println(s.getName() + "---" + s.getAge());
}
}
}
package cn.itcast_01;
public class Student {
private String name;
private int age;
public Student() {
super();
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
(3)Vector
A:有特有功能
a:新增
public void addElement(E obj) -- add()
b:獲取
public E elementAt(int index) -- get()
public Enumeration<E> elements() -- iterator()
B:案例
a:Vector儲存字串並遍歷
b:Vector儲存自定義物件並遍歷
package cn.itcast_02;
import java.util.Enumeration;
import java.util.Vector;
/*
* Vector的特有功能:
* 1:新增功能
* public void addElement(Object obj) --add()
* 2:獲取功能
* public Object elementAt(int index) --get()
* public Enumeration elements() --Iterator iterator()
* boolean hasMoreElements() hasNext()
* Object nextElement() next()
*
* JDK升級的原因:
* A:安全
* B:效率
* C:簡化書寫
*/
public class VectorDemo {
public static void main(String[] args) {
// 建立集合物件
Vector v = new Vector();
// 新增功能
v.addElement("hello");
v.addElement("world");
v.addElement("java");
// 遍歷
for (int x = 0; x < v.size(); x++) {
String s = (String) v.elementAt(x);
System.out.println(s);
}
System.out.println("------------------");
Enumeration en = v.elements(); // 返回的是實現類的物件
while (en.hasMoreElements()) {
String s = (String) en.nextElement();
System.out.println(s);
}
}
}
(4)LinkedList
A:有特有功能
a:新增
addFirst()
addLast()
b:刪除
removeFirst()
removeLast()
c:獲取
getFirst()
getLast()
B:案例
a:LinkedList儲存字串並遍歷
b:LinkedList儲存自定義物件並遍歷
package cn.itcast_03;
import java.util.LinkedList;
/*
* LinkedList的特有功能:
* A:新增功能
* public void addFirst(Object e)
* public void addLast(Object e)
* B:獲取功能
* public Object getFirst()
* public Obejct getLast()
* C:刪除功能
* public Object removeFirst()
* public Object removeLast()
*/
public class LinkedListDemo {
public static void main(String[] args) {
// 建立集合物件
LinkedList link = new LinkedList();
// 新增元素
link.add("hello");
link.add("world");
link.add("java");
// public void addFirst(Object e)
// link.addFirst("javaee");
// public void addLast(Object e)
// link.addLast("android");意義不大,新增的本來就在後面
// public Object getFirst()
// System.out.println("getFirst:" + link.getFirst());
// public Obejct getLast()
// System.out.println("getLast:" + link.getLast());
// public Object removeFirst()
System.out.println("removeFirst:" + link.removeFirst());
// public Object removeLast()
System.out.println("removeLast:" + link.removeLast());
// 輸出物件名
System.out.println("link:" + link);
}
}
相關文章
- 集合框架-List集合框架
- 集合框架-List集合-2框架
- 集合框架-List集合-3框架
- 集合框架小結-List框架
- 集合框架學習之List介面框架
- Java集合框架List,Map,Set等Java框架
- 【java】【集合】List的三個子類—ArrayList、Vector、LinkedList的區別和聯絡Java
- tcbs之集合類與子類的示例
- Set集合的直接子類TreeSet
- 【JavaSE】集合類Collection集合Map集合的簡單介紹,List介面,中三個常用子類ArrayList、Vector、LinkedList之間的比較。Set介面。Java
- Set集合的具體子類:HashSet
- 集合框架(List儲存字串並遍歷)框架字串
- java集合框架List介面思維導圖Java框架
- Java執行緒安全的集合類:Map、List、SetJava執行緒
- Java集合框架中的介面和類Java框架
- 集合框架3-Arrays 類框架
- 集合框架類結構圖框架
- Java學習--java中的集合框架、Collection介面、list介面Java框架
- Map集合中的具體子類TreeMap
- 集合框架-泛型類的概述及使用框架泛型
- java集合-ListJava
- Java 集合 ListJava
- 【Java】Java容器篇(二),深入理解List集合類Java
- Java集合類: Set、List、Map、Queue使用場景梳理Java
- 集合框架-Arrays工具類的asList()方法(把陣列轉成集合)框架陣列
- list集合、txt檔案對比的工具類和檔案讀寫工具類
- Java 的 Collection 與 List 集合Java
- 泛型集合 list泛型
- List型別集合型別
- 集合框架-HashMap集合的案例框架HashMap
- Java集合List隨堂Java
- List集合轉JSONObjectJSONObject
- 【java】【集合】List、ListIterator、VectorJava
- 【集合框架】Java集合框架綜述框架Java
- 集合框架-Map集合的遍歷框架
- 集合框架-TreeMap集合框架
- 集合框架-Set集合框架
- 集合框架-TreeSet集合框架