java集合collection接口與子接口及實現類
概要
集合概念:像數組一樣是java的一個容器;和數組不同的是數組隻能存同類型的數據,且長度定義之後就不可變,集合不僅,可以存多種類型的數據,而且還提供瞭增、刪、改、查的方法;
集合分類:可以分為單列集合與雙列集合,單列集合指在集合中放單個元素,雙列集合指集合中的元素是以鍵值對的方式存放的。
在Collection接口的兩個重要子接口Set與List接口,實現的子類都是單列集合,通過觀察Collection接口源碼,可以看出它繼承瞭Iterable接口;
1 Collection接口的實現子類特性
- (1)Collection接口的實現子類可以存放多元素,每個元素可以是Object
- (2)Collection接口的實現子類,List存放有序,Set存放無序;
- (3)Collection接口沒有直接子類,都是通過List與Set子接實現的
2 通過實現子類ArrayList體現Collection接口方法
Collection中常用方法如下:
2.1 代碼演示示例
//通過註解抑制編譯警告 @SuppressWarnings({"all"}) public class CollectionMethodDemo { public static void main(String[] args) { // 創建對象 List arrList = new ArrayList(); // 使用add添加元素 arrList.add("name"); arrList.add(15); } }
3 集合的遍歷:①使用Iterator(迭代器)②增強for循環遍歷
- 1)、Iterator對象稱為迭代器,主要用於遍歷Collection集合中的元素,
- 2)、所有實現瞭Collection接口的類都有一個iterator()方法,用於返回實現瞭Iterator接口的對象,可以返回一個迭代器
- 3)、Iterator僅用於遍歷集合,不存放對象;
3.1 代碼示例
public class ArrayListTest { public static void main(String[] args) { Books book1 = new Books("三國演義",50); Books book2 = new Books("紅樓夢",60); Books book3 = new Books("西遊記",70); Books book4 = new Books("水滸傳",80); // 創建集合 List list = new ArrayList<>(); // 添加元素 list.add(book1); list.add(book2); list.add(book3); list.add(book4); // 迭代器遍歷集合 Iterator iterator = list.iterator(); while (iterator.hasNext()){ Object object = iterator.next(); System.out.println(object); } System.out.println("======================"); // 增強for遍歷 for (Object b:list){ System.out.println(b); } } } class Books{ private String name; private int price; public Books() { } public Books(String name, int price) { this.name = name; this.price = price; } /** * 獲取 * @return name */ public String getName() { return name; } /** * 設置 * @param name */ public void setName(String name) { this.name = name; } /** * 獲取 * @return price */ public int getPrice() { return price; } /** * 設置 * @param price */ public void setPrice(int price) { this.price = price; } public String toString() { return "Books{name = " + name + ", price = " + price + "}"; } }
4 List相關解讀
- 實現瞭List接口的子類都,都是有序的且允許重復;
- 存入數據與取出的數據順序保持一致,支持索引取(索引從0開始);
5 Set接口分析
- 1)Set接口創建集合是無序的,沒有索引,
- 2)不許出現重復元素,最多包含一個null
- 3)常見的Set接口實現類有,HashSet、TreeSet
Map接口及實現子類
Map子類實現的都是雙列集合
map接口實現類的特點(JDK 8):
- (1)保存具有映射關系的數據;雙列元素key—-value
- (2)Map中的key和value可以是任意的引用類型數據,會封裝到HashMap$Node對象
- (3)Map中的key不允許重復,value可以重復;
- (4)Map中的key和value都可以為空,但可以隻能有一個null,
- (5)在Map中常用String類型作為key使用
- (6)key與value存在一一對應的關系
結語
到此這篇關於java集合collection接口與子接口及實現類的文章就介紹到這瞭,更多相關java collection接口內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java中ArrayList與順序表的概念與使用實例
- Java List接口的集合使用詳解
- Java實現圖書借閱系統
- Java操作MongoDB數據庫的示例代碼
- 在Java中Collection的一些常用方法總結