您好,登錄后才能下訂單哦!
初學(xué)java,單個的接觸有點迷糊,所以總結(jié)下他們的關(guān)系
一、關(guān)系
Collection
--List:以特定順序存儲
--ArrayList、LinkList、Vector
--Set:不能包含重復(fù)的元素
--HashSet、TreeSet
Map
--HashMap、HashTable、TreeMap
二、分別講解
Collection:Collection是一個父接口,List和Set是繼承自他的子接口,Collection是最基本的集合接口,Java SDK中不提供直接繼承自Collection的類,而是提供繼承自他子接口的類,如List何Set。所用的Collection類都支持一個Iterator()
方法來遍歷。
List:List接口是有序的,會精確的將元素插入到指定的位置,和下面的Set接口不同,List接口允許有相同元素
ArrayList:實現(xiàn)可變大小的數(shù)組,允許所有的元素,不是同步的,也就是沒有同步方法
LinkList:允許null元素,通常在首部或者尾部操作,所以常被使用做堆棧(stack)、隊列(queue)和雙向隊列(deque)
Vector:類似于ArrayList,但Vector是同步的,Stack繼承自Vector
Set:是一種不包含重復(fù)元素的Collection接口
HashSet:不能有重復(fù)元素,底層是使用HashMap來實現(xiàn)的
Map:此接口實現(xiàn)的Key到Value的映射,一個Map中不能包含相同的Key,每個Key只能映射一個Value
HashTable:實現(xiàn)了一個Key-Value的哈希表,每一個非null元素都可作為Key或者Value,HashTable是同步的
HashMap:和HashTable的不同之處是,非同步的,且允許null元素的存在
三、Array和Arrays Collection和Collections
Array:是所以隨機訪問一串對象中,最有效率的一種,但是元素類型必須相同,且容量固定無法改變。
Arrays:此靜態(tài)類專門操作array,提供搜索、排序、復(fù)制等靜態(tài)方法
Collection:Java.util下的一個接口,是各種集合結(jié)構(gòu)的父接口
Collections:Java.util下的一個專用靜態(tài)類,他包含各種集合操作的靜態(tài)方法,包括對集合的搜索、排序、線程安全等操作。
四、總結(jié)
涉及到堆棧、隊列等操作,使用List接口,快速插入和刪除應(yīng)使用LinkList,隨機訪問元素使用ArrayList
單線程使用非同步類,多線程使用同步類
注意對HashTable的操作,作為Key的對象要覆寫equals和hashCode方法
在各種Map中HashMap用于快速查找
最長使用的是ArrayList、HashSet、HashMap、Array
下面是一個找出元素字符串?dāng)?shù)組中最長字符串的例子
package Collection; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public class MasString { public static void main(String args []){ String str[] = new String[]{"zhans", "lis", "wangwt", "quliu"}; List<String> list = Arrays.asList(str); String max = Collections.max(list, new strSort()); // Collections靜態(tài)函數(shù)的使用 System.out.println("max: "+max); } } class strSort implements Comparator<String>{ <span > </span>// 一個比較器重新定義 public int compare(String s1, String s2){ if(s1.length() < s2.length()){ return -1; } if(s1.length() < s2.length()){ return s1.compareTo(s2); } else return 1; } }
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對億速云的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。