java基礎筆記(9)----集合之list集合
- 集合
- 對於集合的理解,集合是一個容器,用於存儲和管理其它對象的對象
- 集合,首先了解所有集合的父接口----collection
- 特點:存儲任意object元素
- 方法
- boolean add(Object o) // 把元素o添加到集合中,成功true,否則false
- boolean addAll(Collection c) //把集合c中的所有元素 添加到當前集合中
- void clear() // 清空當前集合中的所有元素
- boolean contains(Object o) //判斷對象o 在當前集合中是否存在
- boolean containsAll(Collection c) //判斷集合c中的元素 在當前集合中是否都存在
- boolean isEmpty() // 判斷當前集合中的元素個數是否為0
- boolean remove(Object o) // 把對象o 從當前集合中刪除,返回是否成功
- int size() // 獲取集合元素的實際個數
- Object[] toArray() // 把集合轉成對應的數組
- list接口
- 特點:存儲任意object元素,有序,有下標元素內容可以重
- 方法:
- 繼承父接口Collection中的所有方法
- void add(int idx, Object obj) //在指定下標idx位置 插入元素obj
- Object get(int idx) // 獲取指定下標idx位置上的元素
- int indexOf(Object o) // 返回o在當前集合中下標,如果不存在 返回-1
- Object remove(int idx) //刪除指定下標idx位置的元素,並且返回該元素
- Object set(int idx,Object o) //修改idx位置的元素為o,並且返回修改前的元素
- List subList(int beginIdx, int toIdx)//截取子集合,從下標beginIdx(含)到toIdx(不含)
- 遍歷:下標遍歷,forEach遍歷,叠代遍歷
- 如下:
package com.lvsling.test;
import java.util.ArrayList; import java.util.Iterator; import
public class TestArrayList { public static void main(String[] args) { //student--有三個屬性,name,age,clazz List<Student> list = new ArrayList<Student>();
Student s1 = new Student("jerry",20,"1"); list.add(s1); list.add(new Student("tom",18,"2")); list.add(new Student("mike",15,"1"));
// 下標遍歷 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); } System.out.println("-------------------------");
// forEach遍歷 for(Object obj : list){ Student s = (Student)obj; System.out.println(s.getName()); } System.out.println("-------------------------");
// 叠代遍歷 Iterator it = list.iterator(); // 獲取集合對象的叠代器 while(it.hasNext()){ // 判斷是否有下一元素 Object obj = it.next(); // 獲取下一元素 System.out.println(obj); } }
} |
- list實現類
- ArrayList
- 數組實現,可變長數組
- 線程不安全,效率高
- 查詢快,增刪慢
- Vector
- 數組實現,可變長數組
- 線程安全,效率高
- LinkedList
- 鏈表實現
- 查詢慢,增刪快
- ArrayList
- 泛型集合
- 類型安全的集合,限制集合元素的類型,必須是相同的。
- 泛型類型,前後一致
- 泛型類型必須是引用類型(基本類型使用包裝類)
- 類型安全的集合,限制集合元素的類型,必須是相同的。
- 拓展與提升
- 工具類
- Collections類,是工具類,提供了一組static方法,用於 對集合進行操作。
- 如:
- Collections.sort(list) // 按升序排----註意:集合元素類型 必須實現java.lang.Comaparable接口。
- Collections.reverse(list); // 集合元素反轉
- Collections.shuffle(list); // 隨機顯示集合元素
- 工具類
java基礎筆記(9)----集合之list集合