자바 집합 맵 집합

33237 단어 JavaSE
Map 인터페이스 와 Collection 인터페이스의 차 이 는 8195;   1, Map 은 두 열 이 고 Collection 은 한 열 에 있 는     2, Map 의 키 가 유일 하 며 Collection 의 서브 시스템 set 는 유일한     3, Map 집합 데이터 구 조 는 키 에 효과 가 있 고 값 과 무관 하 다.Collection 집합 데이터 구 조 는 요소 에 유효 합 니 다.
맵 집합 기능
    a: 기능 추가     V put (K key, V value): 요소 추가.이것 은 사실 또 다른 기능 이 있 습 니까?키 가 처음 저장 되 는 것 이 라면 원 소 를 직접 저장 하고 null * 81955 를 되 돌려 줍 니 다. 키 가 처음 존재 하지 않 는 다 면 값 으로 이전 값 을 교체 하고 이전 값 으로 돌아 갑 니 다.값 을 되 돌려 줍 니 다. V get (개체 키): 키 에 따라 값 을 추출 합 니 다. * 8195: Set keyset (): 집합 에 있 는 모든 키 의 집합 을 가 져 옵 니 다. * 8195: Collection values (): 집합 에 있 는 모든 값 의 집합 을 가 져 옵 니 다. * 8195: 길이 기능 * 8195: int size (): 집합 에 있 는 키 쌍 의 대 수 를 되 돌려 줍 니 다. * 8195: HashMap 은 null 키 null 값 을 삽입 할 수 있 습 니 다.
HashMap 의 옮 겨 다 니 는 방법
* 8195: 1, 모든 키 의 집합 을 가 져 옵 니 다. 키 의 집합 을 옮 겨 다 니 며 모든 키 를 가 져 옵 니 다. 키 에 따라 값 을 찾 습 니 다.
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class TreeMapBL {
    public static void main(String[] args) {
        TreeMap<Integer, String> treeMap = new TreeMap<>();
        treeMap.put(1,"one");
        treeMap.put(2,"two");
        treeMap.put(3,"three");
        Set<Integer> integers = treeMap.keySet();
        for (Integer integer : integers) {
            String s = treeMap.get(integer);
            System.out.println(integer+" "+s);
        }

* 8195: 2, 모든 키 값 이 대상 에 대한 집합 을 가 져 옵 니 다. 키 값 이 대상 에 대한 집합 을 옮 겨 다 니 며 모든 키 값 이 대상 에 게 가 져 옵 니 다. 키 값 에 따라 대상 에 게 키 와 값 을 찾 습 니 다.
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class TreeMapBL {
    public static void main(String[] args) {
        TreeMap<Integer, String> treeMap = new TreeMap<>();
        treeMap.put(1,"one");
        treeMap.put(2,"two");
        treeMap.put(3,"three");
        Set<Map.Entry<Integer, String>> entries = treeMap.entrySet();
        for (Map.Entry<Integer, String> entry : entries) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+" "+value);
        }
    }
}

LinkedHashMap 의 특징
    Map 인터페이스의 해시 표 와 링크 목록 이 실현 되 고 예측 가능 한 교체 순 서 를 가진다. 바 텀 데이터 구 조 는 링크 표 와 해시 표 이 고 요소 가 질서 가 있 으 며 유일 하 다. 요소 의 질서 성 은 링크 데이터 구조 에 의 해 보장 되 고 유일 성 은 해시 표 데이터 구조 에 의 해 보장 된다. Map 집합 데이터 구 조 는 키 와 만 관련 이 있다.
TreeMap 의 특징
『 8195 』 키 의 데이터 구 조 는 빨간색 과 검은색 나무 로 키 의 정렬 과 유일 성 을 확보 할 수 있 습 니 다. 정렬 은 자연 정렬 과 비교 기 정렬 로 나 뉘 는데 스 레 드 는 안전 하지 않 은 효율 이 비교적 높 습 니 다.
    주의: TreeMap 키 는 null     사례 프레젠테이션 을 삽입 할 수 없습니다. 통계 문자열 에 있 는 모든 문자 가 나타 나 는 횟수 는 8195;   사고: 문자열 을 문자 배열 로 바 꾸 고 HashMap 에 순환 적 으로 저장 합 니 다. 하나의 요 소 를 저장 할 때마다 확인 하고 HashMap 이 없 으 면 1 로 설정 합 니 다. 있 으 면 이 요소 의 개수 에 1 을 추가 합 니 다.
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class NumSum {
    public static void main(String[] args) {
        String str = "dsd9d89sd8";
        char[] chars = str.toCharArray();
        HashMap<Object, Integer> ha = new HashMap<>();
        for (int i = 0; i < chars.length; i++) {
            if (!ha.containsKey(chars[i])) {
                ha.put(chars[i], 1);
            } else {
                Integer integer = ha.get(chars[i]);
                integer++;
                ha.put(chars[i], integer);
            }
        }
        Set<Map.Entry<Object, Integer>> entries = ha.entrySet();
        for (Map.Entry<Object, Integer> entry : entries) {
            Object key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key+"-"+value);
        }
    }
}

집합 세트
    사례: 끼 워 넣 은 집합 으로 아래 내용 을 출력 하고 조판 형식 이 같 아야 합 니 다.
    jc 기초 반         장 삼 20     이 사 22   jy 취업 반     왕 오 21         조 육 23
    1, HashMap 내장 HashMap, HashMap 의 모든 요 소 는 HashMap 값 입 니 다.
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class HashQT {
    public static void main(String[] args) {
        HashMap<String, Integer> jc = new HashMap<>();
        jc.put("  ",20);
        jc.put("  ",22);
        HashMap<String, Integer> jy = new HashMap<>();
        jy.put("  ",21);
        jy.put("  ",23);
        HashMap<String, HashMap> hashMap = new HashMap<>();
        hashMap.put("jc     ",jc);
        hashMap.put("jy     ",jy);
        Set<Map.Entry<String, HashMap>> entries = hashMap.entrySet();
        for (Map.Entry<String, HashMap> entry : entries) {
            String key = entry.getKey();
            System.out.println(key);
            HashMap value = entry.getValue();
            Set<Map.Entry<String,Integer>>entries1 = value.entrySet();
            for (Map.Entry<String, Integer> entry1 : entries1) {
                String key1 = entry1.getKey();
                Integer value1 = entry1.getValue();
                System.out.println("\t\t"+key1+"    "+value1);
            }
        }

    }
}

    2, HashMap 내장 ArrayList     HashMap 의 요 소 는 ArrayList 집합 입 니 다.
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class HashQT {
    public static void main(String[] args) {
        ArrayList<String> base = new ArrayList<>();
        base.add("       20");
        base.add("       22");
        ArrayList<String> work = new ArrayList<>();
        work.add("       21");
        work.add("       23");
        HashMap hashMap = new HashMap<String,ArrayList>();
        hashMap.put("jc     ",base);
        hashMap.put("jy     ",work);
        Set<Map.Entry<String,ArrayList>>entries = hashMap.entrySet();
        for (Map.Entry<String, ArrayList> entry : entries) {
            String key = entry.getKey();
            ArrayList value = entry.getValue();
            System.out.println(key);
            for (Object o : value) {
                System.out.println("      "+o);
            }
        }
    }
}

    다른 끼 워 넣 을 수도 있 고 방식 이 모두 비슷 하 다
HashMap 과 Hashtable
HashMap:      ,   .  null  null 
Hashtable:      ,    .   null  null 

좋은 웹페이지 즐겨찾기