亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

java集合-Map

Little_XM / 1595人閱讀

摘要:增強(qiáng)的集合都可以是任何引用類型的數(shù)據(jù),的不允許重復(fù)即同一個(gè)對(duì)象的任何兩個(gè)通過方法比較總是返回。的這些實(shí)現(xiàn)類和子接口中集的存儲(chǔ)形式和對(duì)應(yīng)集合中元素的存儲(chǔ)形式完全相同。根據(jù)的自然順序,即枚舉值的定義順序,來維護(hù)對(duì)的順序。

Java8增強(qiáng)的Map集合

Key-value都可以是任何引用類型的數(shù)據(jù),Map的Key不允許重復(fù)即同一個(gè)Map對(duì)象的任何兩個(gè)key通過equals方法比較總是返回false。

如果把Map里的所有key放在一起來看,他們就組成了一個(gè)Set集合:所有key沒有順序,key與key之間不能重復(fù),實(shí)際上Map確實(shí)包含了一個(gè)keySet方法,用來返回Map里所有key組成的Set集合。

Map的這些實(shí)現(xiàn)類和子接口中key集的存儲(chǔ)形式和對(duì)應(yīng)Set集合中元素的存儲(chǔ)形式完全相同。

Set與Map之間的關(guān)系非常密切。雖然Map中放的元素時(shí)key-value對(duì),Set集合中放的元素時(shí)單個(gè)對(duì)象,但如果把key-value對(duì)中的value當(dāng)成key的附庸:key在那里,value就跟在那里,這樣就可以像對(duì)待Set一樣來對(duì)待Map了。事實(shí)上,Map提供了一個(gè)Entry內(nèi)部類來封裝key-value對(duì),而計(jì)算Entry存儲(chǔ)時(shí)則只考慮Entry封裝的key。從java源碼來看,java是先實(shí)現(xiàn)了Map,然后通過包裝一個(gè)所有value都為null的Map就實(shí)現(xiàn)了Set集合。

如果把Map里的所有value放在一起來看,他們又非常類似于一個(gè)List:元素與元素之間可以重復(fù),但每個(gè)元素可以根據(jù)索引來查找,只是Map中的索引不再使用整數(shù)值,而是以另一個(gè)對(duì)象作為索引。

public class MapTest {
    public static void main(String[] args) {
        Map map = new HashMap<>();
        map.put("java", 1);
        map.put("python", 2);
        map.put("hadoop", 3);
        //{python=2, java=1, hadoop=3}
        System.out.println(map);
        //如果當(dāng)前Map中已經(jīng)有一個(gè)與該Key相等的key-value對(duì),則新的key-value會(huì)覆蓋原來的key-value對(duì)。并返回之前被覆蓋的value
        Integer put = map.put("java", 4);
        System.out.println(put);//1
        for(Entry map2:map.entrySet()) {
            System.out.println(map2);
            //python=2
            //java=4
            //hadoop=3
        }
        
        for(Object obj : map.keySet()) {
            System.out.println(obj);//python java hadoop
        }
    }
}
Java8為Map新增加的方法
public class NewMapTest {
    public static void main(String[] args) {
        Map map = new HashMap<>();
        map.put("123", 456);
        //{123=456}
        System.out.println(map);
        
        /**
         * compute 和 computeIfAbsent 和 computeIfPresent總結(jié)
         * 
         * compute 如果函數(shù)式接口中的返回值不為null,那就是用接口中返回值來覆蓋原value
         *                 如果接口中返回值為null,那么就刪除此map對(duì)
         *                 如果原value為null,那就用接口中返回值覆蓋原value
         * computeIfAbsent
         *                 如果函數(shù)式接口中的返回值不為null,而且原value不為null,那么不做改變
         *              如果接口中返回值為null,不做改變
         *              如果原value為null,那么就使用接口中的返回值覆蓋原value
         */
        /**
         * map.compute(key, remappingFunction)
         * 該方法使用remappingFunction根據(jù)原來key-value對(duì)計(jì)算一個(gè)新value
         * 只要新value不為null,就使用新value覆蓋原來value;
         * 如果原來value不為null,但新value為null,則刪除原key-value對(duì);
         * 如果原value,新value同時(shí)為null,那么方法不改變?nèi)魏蝛ey-value對(duì),直接返回null;
         */
        /*
        Integer compute = map.compute("123", (key,value) -> Integer.parseInt(key));
        System.out.println(compute);//123
        System.out.println(map);//{123=123}
        
        Integer compute = map.compute("123", (key,value) -> null);
        System.out.println(map);//{}
         */
        /*
        map.put("1234", null);
        Integer compute = map.compute("1234", (key,value) -> 0);
        System.out.println(compute);//0
        System.out.println(map);//{123=456, 1234=0}
        */
        
        /**
         * Absent 缺席
         *         map.computeIfAbsent(key, mappingFunction)
         * 如果傳給該方法的key參數(shù)在Map中對(duì)應(yīng)的value為null,則使用mappingFunction根據(jù)原來key,value計(jì)算一個(gè)新的結(jié)果
         * 如果計(jì)算結(jié)果不為null,則用計(jì)算結(jié)果覆蓋原有的value。如果原Map原來不包括該Key,那么該方法可能會(huì)添加一組key-value對(duì)。
         */
        /*
        map.put("1234", null);
        map.computeIfAbsent("1234", (key) -> Integer.parseInt(key));
        System.out.println(map);//{123=456, 1234=1234}
        */
        /*
        Integer computeIfAbsent = map.computeIfAbsent("1231", (e) -> Integer.parseInt(e));
        System.out.println(computeIfAbsent);//1231
        System.out.println(map);//{123=456, 1231=1231}
        */
        
        /*
        Integer computeIfAbsent = map.computeIfAbsent("123", (e) -> Integer.parseInt("123123123"));
        System.out.println(computeIfAbsent);//456
        System.out.println(map);//{123=456}
        */
        
        
        /**
         * Present 提出;介紹;呈現(xiàn);贈(zèng)送
         * map.computeIfPresent(key, remappingFunction)
         * 如果傳給該方法的key參數(shù)在Map中對(duì)應(yīng)的value不為null,該方法使用remappingFunction根據(jù)原key-value計(jì)算一個(gè)新結(jié)果,
         * 如果計(jì)算結(jié)果不為null,則使用該結(jié)果覆蓋原來的value,
         * 如果計(jì)算結(jié)果為null,則刪除原key-value對(duì)
         */
        /*
        Integer computeIfPresent = map.computeIfPresent("123", (key,value) -> 0);
        System.out.println(computeIfPresent);//0
        System.out.println(map);//{123=0}
        */
        /*
        Integer computeIfPresent = map.computeIfPresent("1234", (Key,value) -> 0);
        System.out.println(computeIfPresent);//null
        System.out.println(map);//{123=456}
        */
        /*
        map.put("1234", null);
        Integer computeIfPresent = map.computeIfPresent("1234", (key,value) -> 12);
        System.out.println(computeIfPresent);//null
        System.out.println(map);//{123=456, 1234=null}
        */
        /*
        Integer computeIfPresent = map.computeIfPresent("123", (key,value) -> null);
        System.out.println(computeIfPresent);//null
        System.out.println(map);//{}
        */
        //獲取指定key對(duì)應(yīng)的value,如果key不存在那么就返回指定value
        Integer orDefault = map.getOrDefault("1234", 452);
        System.out.println(orDefault);//452
        
        /**
         * 該方法會(huì)先根據(jù)key參數(shù)獲取該Map中對(duì)應(yīng)的value,如果獲取的value為null
         * 則直接用傳入的value覆蓋原有的value,在這種情況下,可能要添加一組map對(duì),
         * 如果value不為null,則使用函數(shù)接口根據(jù)value,新value計(jì)算出一個(gè)新的結(jié)果,并用得到的結(jié)果去覆蓋原有的value
         */
        Integer merge = map.merge("123", 123123, (key,value) -> value+1000);
        System.out.println(merge);//124123
        System.out.println(map);//{123=124123}
    }
}
Java8改進(jìn)的HashMap和Hashtable實(shí)現(xiàn)類

Hashtable和HashMap區(qū)別

Hashtable是一個(gè)線程安全的Map實(shí)現(xiàn),但HashMap是線程不安全的實(shí)現(xiàn),所以HashMap比Hashtable的性能高一點(diǎn),但如果有多個(gè)線程訪問同一個(gè)Map對(duì)象時(shí),使用Hashtable實(shí)現(xiàn)類會(huì)更好、

Hashtable不允許使用null作為key和value,如果試圖把null值放入Hashtable里,將引發(fā)空指針異常,但HashMap可是使用null作為key和value、

為了成功的在HashMap,Hashtable中存儲(chǔ),獲取對(duì)象,用作key的對(duì)象必須實(shí)現(xiàn)hashCode方法和equals方法。

類似于HashSet,HashMap,Hashtable判斷兩個(gè)key相等的標(biāo)準(zhǔn)也是:兩個(gè)key通過equals方法返回true,兩個(gè)key的hashCode值也相等。

HashMap和Hashtable判斷兩個(gè)value相等的標(biāo)準(zhǔn)是:只要兩個(gè)對(duì)象通過equals方法比較返回true即可。

public class ABHashtable {
    public static void main(String[] args) {
        Hashtable hashtable = new Hashtable<>();
        hashtable.put(new A(123), "123");
        hashtable.put(new A(1234), "1234");
        hashtable.put(new A(1236), new B());
        System.out.println(hashtable);
        
        System.out.println(hashtable.containsValue("32342342"));//true
        System.out.println(hashtable.containsKey(new A(123)));//true
        System.out.println(hashtable.containsKey(new A(123123)));//false
    }
}    

上述代碼解釋:上述Hashtable中包含了B對(duì)象,而且重寫了B對(duì)象的equals方法,它與任何對(duì)象通過equals都會(huì)返回true,所以在第一個(gè)輸出是true。根據(jù)Hashtable判斷兩個(gè)key相等的標(biāo)準(zhǔn),在第二個(gè)輸出的時(shí)候,因?yàn)橥ㄟ^equals和hashCode都返回true,所以Hashtable判斷這兩個(gè)key相等,所以為true。

與HashSet類似的是,如果使用可變對(duì)象作為HashMap,Hashtable的key,如果程序修改了可變對(duì)象,那么程序再也無法準(zhǔn)確訪問到Map中被修改過的key。

public class ABHashtable2 {
    public static void main(String[] args) {
        HashMap hashtable = new HashMap();
        hashtable.put(new A(123), "123");
        hashtable.put(new A(1234), "1234");
        //{mapTest.A@4d2=1234, mapTest.A@7b=123}
        System.out.println(hashtable);
        A next = (A) hashtable.keySet().iterator().next();
        System.out.println(next.count);//1234
        next.count = 123;
        //{mapTest.A@7b=1234, mapTest.A@7b=123}
        System.out.println(hashtable);
        
        hashtable.remove(new A(123));
        //只能刪除沒有被修改的key所對(duì)應(yīng)的key-value對(duì)
        System.out.println(hashtable);//{mapTest.A@7b=1234}
        System.out.println(hashtable.get(new A(123)));//null
    }
}

盡量不要使用可變對(duì)象作為key,如果確實(shí)需要,則盡量不要在程序中修改作為key的對(duì)象。

LinkedHashMap實(shí)現(xiàn)類

LinkedHashMap也使用雙向鏈表來維護(hù)key-value對(duì)的次序,其實(shí)只需要考慮key的次序,該鏈表負(fù)責(zé)維護(hù)Map的迭代順序,迭代順序與key-value對(duì)的插入順序保持一致。

因?yàn)樗褂面湵韥砭S護(hù)內(nèi)部順序,所以在迭代訪問Map里的全部元素時(shí)將有較好的性能,迭代輸出LinkedHashMap的元素時(shí),將會(huì)安添加key-value的順序輸出。

public class LinkedHashMapS {
    public static void main(String[] args) {
        LinkedHashMap map = new LinkedHashMap<>();
        map.put("1", "1");
        map.put("2", "2");
        map.put("3", "3");
        System.out.println(map);//{1=1, 2=2, 3=3}
    }
}
使用Properties讀寫屬性文件

Properties是Hashtable類的子類

Properties相當(dāng)于一個(gè)key,value都是String的Map

public class PropertiesTest {
    public static void main(String[] args) throws FileNotFoundException, IOException {
        Properties properties = new Properties();
        properties.setProperty("w","zq");
        properties.setProperty("w1","zq1");
        properties.setProperty("w2","zq2");
        //輸出文件目錄,文件說明
        properties.store(new FileOutputStream(new File("myProperties.properties")), "comment");
        properties.storeToXML(new FileOutputStream(new File("myProperties1.xml")), "comment");
    }
}
myProperties
#comment
#Fri Mar 09 10:11:42 CST 2018
w=zq
w1=zq1
w2=zq2

myProperties1



comment
zq
zq1
zq2

SortedMap接口和TreeMap實(shí)現(xiàn)類

TreeMap就是一個(gè)紅黑樹數(shù)據(jù)結(jié)構(gòu),每個(gè)key-value對(duì)即作為紅黑樹的一個(gè)節(jié)點(diǎn)。TreeMap存儲(chǔ)key-value對(duì)時(shí),需要根據(jù)key對(duì)節(jié)點(diǎn)進(jìn)行排序。TreeMap可以保證所有的key-value對(duì)處于有序狀態(tài)。TreeMap也可以自然排序和定制排序。

TreeMap中判斷兩個(gè)key相等的標(biāo)準(zhǔn)是:兩個(gè)key通過compareTo方法返回0,TreeMap即認(rèn)為這兩個(gè)key是相等的。

如果使用自定義類作為TreeMap的key,且想讓TreeMap良好的工作,則重寫該類的equals方法和compareTo方法時(shí)保持一致的返回結(jié)果。

Set和Map的關(guān)系十分密切,java源代碼就是先實(shí)現(xiàn)了HashMap,TreeMMap等集合,然后通過包裝一個(gè)所有的value都為null的Map集合實(shí)現(xiàn)了Set集合類。

public class TreeMapTest {
    public static void main(String[] args) {
        TreeMap treeMap = new TreeMap<>();
        treeMap.put(12, 34);
        treeMap.put(-12, 34);
        treeMap.put(122, 34);
        treeMap.put(0, 34);
        //{-12=34, 0=34, 12=34, 122=34}
        System.out.println(treeMap);
    }
}
WeakHashMap實(shí)現(xiàn)類

WeakHashMap與HashMap的區(qū)別是:HashMap的key保留對(duì)實(shí)際對(duì)象的強(qiáng)引用,這意味著只要該HashMap對(duì)象不被銷毀,該HashMap的所有key所引用的對(duì)象就不會(huì)被垃圾回收,HashMap也不會(huì)自動(dòng)刪除這些key所對(duì)應(yīng)的key-value對(duì);但WeakHashMap的key只保留了實(shí)際對(duì)象的弱引用,這意味著如果WeakHashMap對(duì)象的key所引用的對(duì)象沒有被其他強(qiáng)引用變量所引用,則這些key所引用的對(duì)象可能被垃圾回收,WeakHashMap也可能自動(dòng)刪除這些key所對(duì)應(yīng)的key-value對(duì)。

public class WeakHashMapTets {
    public static void main(String[] args) {
        WeakHashMap weakHashMap = new WeakHashMap<>();
        weakHashMap.put(new String("1"), new String("1"));
        weakHashMap.put(new String("2"), new String("2"));
        weakHashMap.put(new String("3"), new String("3"));
        weakHashMap.put("4", new String("4"));
        //{4=4, 1=1, 2=2, 3=3}
        System.out.println(weakHashMap);
        System.gc();
        System.runFinalization();
        //{4=4}
        System.out.println(weakHashMap);
        //第四組key-value對(duì)的key是一個(gè)字符串直接量,系統(tǒng)會(huì)自動(dòng)保留對(duì)該字符串對(duì)象的強(qiáng)引用,所以垃圾回收時(shí)不會(huì)回收他
    }
}    

如果需要使用WeakHashMap的key來保留對(duì)象的弱引用,則不要讓該key所引用的對(duì)象具有任何強(qiáng)引用了否則將失去WeakHashMap的意義。

IdentityHashMap實(shí)現(xiàn)類

在IdentityHashMap中,當(dāng)且僅當(dāng)兩個(gè)key嚴(yán)格相等key1 == key2時(shí),IdentityHashMap才認(rèn)為兩個(gè)key相等,對(duì)于普通的HashMap而言,只要key1和key2通過equals方法比較返回true,且他們的hashCode值相等即可。

public class IdentityHashMapTest {
    public static void main(String[] args) {
        IdentityHashMap identityHashMap = new IdentityHashMap<>();
        identityHashMap.put(new String("r"),"r");
        identityHashMap.put(new String("r"),"r");
        identityHashMap.put("java", 0);
        identityHashMap.put("java", 1);
        //{java=1, r=r, r=r}
        System.out.println(identityHashMap);
        /**
         * 由于上面new String()的地址值不一樣,IdentityHashCode返回值會(huì)不一樣
         * 所以第一個(gè)String與第二個(gè)String并不一樣
         * 但是java字符串直接量是一樣的,所以第二次put就會(huì)覆蓋原來的value
         */
    }
}
EnumMap實(shí)現(xiàn)類

EnumMap中的所有key都必須是單個(gè)枚舉類的枚舉值,創(chuàng)建EnumMap時(shí)必須顯示或隱式指定它對(duì)應(yīng)的枚舉類。

EnumMap具有如下特征

EnumMap在內(nèi)部以數(shù)組形式保存,所以這種實(shí)現(xiàn)形式非常緊湊,高效。

EnumMap根據(jù)key的自然順序,即枚舉值的定義順序,來維護(hù)key-value對(duì)的順序。

EnumMap不允許使用null作為key,但允許使用null作為value,如果試圖使用null作為key時(shí)將拋出空指針異常。如果只是查詢是否包含值為null的key,或只是刪除值為null的key,都不會(huì)拋出異常。

創(chuàng)建EnumMap時(shí)必須指定一個(gè)枚舉類,從而將該EnumMap和指定的枚舉類關(guān)聯(lián)起來。

public class EnumMapTest {
    public static void main(String[] args) {
        EnumMap enumMap = new EnumMap(EnumMaps.class);
        System.out.println(enumMap);//{}
        enumMap.put(WINTER, "4");
        enumMap.put(SPRING, "4");
        enumMap.put(SUMMER, "4");
        //{SPRING=4, SUMMER=4, WINTER=4}
        System.out.println(enumMap);
    }
}
各Map實(shí)現(xiàn)類的性能分析

HashMap和Hashtable的實(shí)現(xiàn)機(jī)制幾乎一樣,但由于Hashtable是一個(gè)古老的,線程安全的集合,因此HashMap通常比Hashtable要快。

TreeMap通常比HashMap,Hashtable要慢,尤其在插入刪除key-value對(duì)時(shí)更慢,因?yàn)門reeMap底層采用紅黑樹來管理key-value對(duì),紅黑樹的每個(gè)節(jié)點(diǎn)就是一個(gè)key-value對(duì)。

使用TreeMap有一個(gè)好處:TreeMap中的key-value對(duì)總是處于有序狀態(tài),無需專門進(jìn)行排序操作。當(dāng)TreeMap被填充之后,就可以調(diào)用keySet(),去的由key組成的Set,然后使用toArry()方法生成key的數(shù)組,接下來使用Arrays的binarySearch()方法在已排序的數(shù)組中快速地查詢對(duì)象。

對(duì)于一般的應(yīng)用場(chǎng)景,程序應(yīng)該多考慮使用HashMap,因?yàn)镠ashMap正是為快速查詢?cè)O(shè)計(jì)的:HashMap底層其實(shí)也是采用數(shù)組來存儲(chǔ)key-value對(duì)。但如果程序需要一個(gè)總是排序好的Map時(shí),則可以考慮使用TreeMap。

LinkedHashMap比HashMap慢一點(diǎn),因?yàn)樗枰S護(hù)鏈表來保持Map中key-value時(shí)的添加順序。IdentityHashMap心梗沒有特別出色之處,因?yàn)樗捎门cHashMap基本相似的實(shí)現(xiàn),只是它使用==而不是equals方法來判斷元素相等。EnumMap的性能最好,但它只能使用同一個(gè)枚舉類的枚舉值作為key。

HashSet和HashMap的性能選項(xiàng)

對(duì)于HashSet及其子類而言,它們采用hash算法來決定集合中元素的存儲(chǔ)位置,并通過hash算法來控制集合的代銷;對(duì)于HashMap,Hashtable及其子類而言,他們采用hash算法來決定Map中key的存儲(chǔ),并通過hash算法

設(shè)置不可變集合
public class NoModifyCollections {
    //不可變對(duì)象都不可以增加和刪除操作
    public static void main(String[] args) {
        //創(chuàng)建一個(gè)空的不可變的List對(duì)象
        List emptyList = Collections.emptyList();
        //創(chuàng)建一個(gè)還有一個(gè)元素,且不可改變的Set對(duì)象
        Set singleton = Collections.singleton("java");
        HashMap map = new HashMap<>();
        map.put("", "");
        //返回普通Map對(duì)象對(duì)應(yīng)的不可變版本
        Map map2 = Collections.unmodifiableMap(map);
    }
}

Java9 增加的不可變集合
public class NoModifyCollections9 {
    public static void main(String[] args) {
        List of = List.of("");
        Set of2 = Set.of("");
        Map of3 = Map.of("1","2","3","4");
        System.out.println(of3);//{3=4, 1=2}
        Map ofEntries = Map.ofEntries(Map.entry("", ""));
        System.out.println(ofEntries);//{=}
    }
}
繁瑣的接口Enumeration

繁瑣的接口Enumeration:只能遍歷Vector和Hashtable這種老java類

public class EnumerationTeST {
    public static void main(String[] args) {
        Vector vector = new Vector();
        vector.add("3");
        vector.add("2");
        vector.add("1");
        Enumeration elements = vector.elements();
        while (elements.hasMoreElements()) {
            System.out.println(elements.nextElement()); // 3 2 1 
        }
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/69317.html

相關(guān)文章

  • Java編程基礎(chǔ)19——Map集合&斗地主案例

    摘要:使用默認(rèn)隨機(jī)源對(duì)指定列表進(jìn)行置換。將集合排序使用二分搜索法搜索指定列表,以獲得指定對(duì)象根據(jù)元素的自然順序,返回給定的最大元素。 1_Map集合概述和特點(diǎn) A:Map接口概述 查看API可以知道: 將鍵映射到值的對(duì)象 一個(gè)映射不能包含重復(fù)的鍵 每個(gè)鍵最多只能映射到一個(gè)值 B:Map接口和Collection接口的不同 Map是雙列的,Collection是單列的 Map...

    ygyooo 評(píng)論0 收藏0
  • Java集合框架——Map接口

    摘要:第三階段常見對(duì)象的學(xué)習(xí)集合框架集合在實(shí)際需求中,我們常常會(huì)遇到這樣的問題,在諸多的數(shù)據(jù)中,通過其編號(hào)來尋找某一些信息,從而進(jìn)行查看或者修改,例如通過學(xué)號(hào)查詢學(xué)生信息。面試題和的區(qū)別是單列集合的頂層接口,有子接口和。 第三階段 JAVA常見對(duì)象的學(xué)習(xí) 集合框架——Map集合 showImg(https://segmentfault.com/img/remote/1460000019683...

    princekin 評(píng)論0 收藏0
  • Map學(xué)習(xí)二之LinkedHash,HashTable,計(jì)算一個(gè)給定字符串的每個(gè)字符出現(xiàn)的次數(shù)

    package com.itheima.demo03.Map; import java.util.HashMap;import java.util.LinkedHashMap; /* java.util.LinkedHashMap entends HashMap Map 接口的哈希表和鏈接列表實(shí)現(xiàn),具有可預(yù)知的迭代順序。 底層原理: 哈希表+鏈表(記錄元素的順序) */public cla...

    Rocture 評(píng)論0 收藏0
  • 1、Map接口 2、模擬斗地主洗牌發(fā)牌

    摘要:中的集合稱為單列集合,中的集合稱為雙列集合。洗牌通過數(shù)字完成洗牌發(fā)牌發(fā)牌將每個(gè)人以及底牌設(shè)計(jì)為將最后張牌直接存放于底牌,剩余牌通過對(duì)取模依次發(fā)牌。存放的過程中要求數(shù)字大小與斗地主規(guī)則的大小對(duì)應(yīng)。 01Map集合概述 A:Map集合概述: 我們通過查看Map接口描述,發(fā)現(xiàn)Map接口下的集合與Collection接口下的集合,它們存儲(chǔ)數(shù)據(jù)的形式不同 ? a:Collection中的集...

    付倫 評(píng)論0 收藏0
  • JAVA-集合類概述(筆記)

    摘要:通常使用矢代器來實(shí)現(xiàn)遍歷集合。將集合中指定索引位置的對(duì)象改成指定的對(duì)象。三元運(yùn)算如果否則集合沒有繼承接口,它是提供到的映射,來決定遍歷對(duì)象的順序。 showImg(/img/bVldsA); 1.Collection接口是層次結(jié)構(gòu)中的跟接口。Collection接口通常不能直接使用,但該接口提供了添加元素,刪除元素,管理數(shù)據(jù)的方法。 Collection通常使用矢代器(Iterato...

    wangbinke 評(píng)論0 收藏0
  • Map學(xué)習(xí)一之基本操作方法put,get,remove,containsKey

    摘要:返回值存在返回對(duì)應(yīng)的值不存在返回創(chuàng)建集合對(duì)象趙麗穎楊穎林志玲楊穎迪麗熱巴把指定的鍵所對(duì)應(yīng)的鍵值對(duì)元素在集合中刪除,返回被刪除元素的值。 package com.itheima.demo01.Map; import java.util.HashMap;import java.util.Map; /* java.util.Map集合 Map集合的特點(diǎn): 1.Map集合是一個(gè)雙列集合...

    TwIStOy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<