當前位置:成語大全網 - 書法字典 - java裏有幾個集合。

java裏有幾個集合。

集合類放在java.util. *中;在這個包裏。集合類存儲對對象的引用,而不是對象本身。為了方便起見,我們稱集合中的對象為集合中對象的引用。妳不會忘記參照物的概念吧?我們之前討論過數據類型。

集合有三種主要類型:集合、列表、映射和隊列。//在jdk5中添加隊列。

(1)集

集合是最簡單的集合。它的對象沒有按照特定的方式排序,只是簡單地添加到集合中,就像把東西放進口袋壹樣。對集合中成員的訪問和操作是通過對集合中對象的引用來完成的,因此集合中不能有重復的對象。我們知道數學集合也是集合,集合中壹定不能有重復的元素。

(2)列表

列表的主要特征是它的對象以線性方式存儲,沒有特定的順序,只有開始和結束。當然,它不同於壹個完全沒有秩序的集合。這是壹個鏈表。壹個鏈條壹定是有順序的,但是這個順序不壹定是這樣的。

(3)地圖

Map,java裏不是地圖的意思,其實就是地圖。它是壹個鍵值對。什麽是鍵值對?比如我們查字典,用偏旁查找法。目錄這個詞是關鍵,這個詞的解釋就是值。鍵和值成對出現。這可以理解。這也是很常見的數據結構。

(4)排隊

在jdk5.0之前,常見的實現方法是使用java.util.List集合來模仿隊列。隊列的概念是通過將對象添加到列表的尾部(即隊列的後部),並通過從列表的頭部(即隊列的前部)提取對象來將它們從列表中移除(即入隊的操作)來模擬的。當需要執行FIFO動作時,可以直接使用隊列接口。

這四樣東西,有時候功能並不完善,有些子類需要繼承它的特性。Set子接口包括TreeSet、SortedSet、List、ArrayList、Map、HashMap、HashTable和Queue。讓我們來看壹些例子:

練習:樹立榜樣

導入Java . util . *;

公共類SetExample {

公共靜態void main(String[] args) {

set set = new HashSet();//HashSet是Set的子接口。

set . add(" one ");

set.add("秒");

set . add(" 3rd ");

set.add(新整數(4));

set.add(新浮點型(5.0F));

set.add("秒");

set.add(新整數(4));

system . out . println(set);

}}

列表示例:

導入Java . util . *;

公共類列表示例{

公共靜態void main(String[] args) {

list list = new ArrayList();

list . add(" one ");

list . add(" second ");

list . add(" 3rd ");

list.add(新整數(4));

list.add(新浮動(5.0F));

list . add(" second ");

list.add(新整數(4));

system . out . println(list);

}}

地圖示例

導入Java . util . map;

導入Java . util . hashmap;

導入Java . util . iterator;

導入Java . io . filereader;

公共類映射示例{

公共靜態void main(String[] args)拋出java.io.FileNotFoundException {

map word _ count _ map = new HashMap();

FileReader = new FileReader(args[0]);

iterator words = new wordstream iterator(reader);

while ( words.hasNext() ) {

String word =(String)words . next();

string word _ lower case = word . tolowercase();

整數頻率=(Integer)word _ count _ map . get(word _ lower case);

if ( frequency == null ) {

頻率=新整數(1);

}否則{

int value = frequency . int value();

頻率=新整數(值+1);}

word _ count _ map . put(word _ lower case,頻率);

}

system . out . println(word _ count _ map);

}}

隊列示例:

導入Java . io . io exception;

導入Java . io . printstream;

導入Java . util . linked list;

導入Java . util . queue;

公共類隊列測試器{

公共隊列& lt字符串& gtq;//發現壹個奇怪的語法,這個尖括號是泛型聲明。

public queue tester(){ q = new linked list & lt;字符串& gt();}

公共void testFIFO(PrintStream out)引發IOException {

q . add(" First ");

q.add("第二");

q.add("第三");

對象o;

while ((o = q.poll())!= null) {

out . println(o);}}

公共靜態void main(String[] args) {

queue tester tester = new queue tester();

試試{ tester . test FIFO(system . out);

} catch (IOException e) {

e . printstacktrace();} }}