1. 程式人生 > 其它 >59-知識筆記(java-集合詳解03)

59-知識筆記(java-集合詳解03)

技術標籤:知識點積累

Map介面:雙列集合 key—value對應

Map介面方法:

在這裡插入圖片描述

key是不能重複的!!!!

Map遍歷(Key檢視遍歷):

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class Case02 {
    public static void main(String[] args) {
        HashMap<Object, Object> map = new HashMap<>();
        map.put
(1, "jack"); map.put(2, "rose"); map.put(3, "lucy"); map.put(4, "hello"); map.put(5, "lili"); Set<Object> keySet = map.keySet(); Iterator<Object> iterator = keySet.iterator(); while (
iterator.hasNext()){ Object key = iterator.next(); Object value = map.get(key); System.out.println(key + ":" + value); } } }

Map遍歷(values檢視遍歷):

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;

public class Case03
{ public static void main(String[] args) { HashMap<Object, Object> map = new HashMap<>(); map.put(1, "jack"); map.put(2, "rose"); map.put(3, "lucy"); map.put(4, "hello"); map.put(5, "lili"); Collection<Object> values = map.values(); Iterator<Object> iterator = values.iterator(); while (iterator.hasNext()){ System.out.println(iterator.next()); } } }

LinkedHashMap用法:用來維護寫讀順序

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

public class Case04 {
    public static void main(String[] args) {
        LinkedHashMap<Object, Object> map = new LinkedHashMap<>();
        map.put(3,"jack");
        map.put(2,"sss");
        map.put(4, "tttt");
        Set<Object> KeySet = map.keySet();
        Iterator<Object> it = KeySet.iterator();
        while (it.hasNext()){
            Object key = it.next();
            Object value = map.get(key);
            System.out.println(key + ":" + value);
        }

    }
}

Map介面還有一個實現類Hashtable, 它和HashMap十分相似,區別在於Hashtable是執行緒安全的。Hashtable存取元素時速度很慢,目前基本上被HashMap類所取代。

但Hashtable類有一個子類Properties在實際應用中非常重要。

Properties主要用來儲存字串型別的鍵和值,在實際開發中,經常使用Properties集合來存取應用的配置項。比如以下的字串格式:

Backgroup-color=red
Font-size=14px

import java.util.Enumeration;
import java.util.Properties;

public class Case05 {

    public static void main(String[] args) {
        Properties p = new Properties();
        p.setProperty("back","red");
        p.setProperty("font","14px");
        p.setProperty("language","chinese");
        Enumeration<?> name = p.propertyNames();
        while (name.hasMoreElements()){
            String key = (String) name.nextElement();
            String value = p.getProperty(key);
            System.out.println(key + ":" + value);
        }
    }
}