Hello!沒技術的大灰狼又來了,今天和小夥伴分享一個Java項目開發中比較常用的存儲數據的方法----集合。
想到集合,可能很多小夥伴都會想到數組,那麼集合和數組又有什麼樣的區別呢?且聽大灰狼一一分解喲!
.
什麼是集合?
在Java中,集合可以看做是一個容器,如它可以是一個衣櫃,裏面裝滿了不同的衣服;它也可以是一個書櫃,裏面塞滿了各種各樣不同的書籍,我們可以隨時的將它們取出或者放入,並且可以按照一定的順序存放這些在容器中的元素。
在Java中提供了不同的集合類,也可以說是不同形狀的容器,而這些類提供了不同的存儲方式,同時還提供了相應的方法。從而方便用戶對集合中的元素進行遍歷、添加、刪除以及提取指定對象等操作。
.
集合和數組有什麼區別?
從表面上看,數組和集合都是存儲數據的一種方法,但是需要注意了!
數組的存取長度是固定的,而集合的存取長度是可變的,也就是說,你在使用數組的時候,會先將數組的長度定義好,比如100,那麼你就只能在這個數組中存放100個數據,而集合就不同了,集合的長度是不固定的,其中的元素個數可以是0、1,也可以是1000或者10000。
在數據的存儲上,集合和數組也是有不同的,數組存放的是基本的數據類型,也就是如果是int型,則內部元素就一定是int型,而集合就不一樣了,集合是用來存放對象的引用,在集合中的元素可以是int型,string型等任意數據類型。
我們平常在進行開發的時候常用的集合有List集合、Set集合和Map集合,而List集合和Set集合就繼承了我們今天要說的Collection接口,所以纔將其叫做“爸爸”接口嘛。而且各接口還提供了不同是實現類。這裏有一個集合類的繼承關係圖,小夥伴可以參考:
那麼接下來,大灰狼就來和大家聊一聊這個能夠成爲List集合和Set集合的繼承的接口的“爸爸”接口是怎樣的。
.
Collection接口
Collection接口是層次結構中的根接口,構成Collection的單位成爲元素,一般來說呢,Collection接口不能直接使用,但是該接口提供了增加、刪除元素和管理數據的一些方法,並且由於List集合和Set集合繼承了Collection接口,因此這些方法對於List集合和Set集合都是通用的。
下表就是Collection接口常用的一些方法:
方法 | 功能描述 |
---|---|
add(E) | 將指定的對象添加到該集合中 |
remove(Object) | 將指定的對象從該集合中移除 |
IsEmpty() | 返回boollean值,判斷當前集合是否爲空 |
Iterator() | 返回在此Collection的元素上進行迭代的迭代器,用於遍歷集合中的對象 |
Size() | 返回int型數值,獲取該集合中元素的個數 |
.
如何遍歷集合中的元素
想要遍歷集合中的元素,一般都是通過迭代器來實現,Collection接口中的Iterator()方法返回在此Collection接口處進行迭代的迭代器,通過while循環進行遍歷。
下面是使用Collection接口進行集合的創建與遍歷的過程:
package priject1;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
public class ArrayList_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//創建一個Collection接口的列表
Collection<String> list1 = new ArrayList<>();
list1.add("a");
list1.add("b");
list1.add("c");
//創建一個迭代器用於接收list1集合的迭代器
Iterator<String> lt = list1.iterator();
while(lt.hasNext())
{
//觀察lt.hasNext()此時的值
//System.out.println(lt.hasNext());
String string = (String) lt.next();
System.out.println(string);
}
}
}
運行結果如圖所示:
其中我們需要導入Java.ntil包,這是使用集合類時所需要依據的,it.hasNext()方法的作用是判斷是否還有下一個元素,如果有,就用it.next()獲取到該元素,並且輸出。
Collection接口是集合類的根本,也是集合類的繼承類,所以瞭解Collection接口對於學習集合是十分重要的。
覺得有用記得點贊關注喲!
同時有學習Python的小夥伴也可以關注我的微信公衆號“灰狼洞主”,後臺回覆“python筆記”****獲取Python從入門到精通學習筆記和常用函數速查手冊!
大灰狼期待與你一同進步!