java集合框架复习----(4)

文章目录

五、Map集合【重要】

java集合框架复习----(4)
特点:

  • 用于存储任意键值对(k-v)
  • key不能重复,唯一。无序、无下标
  • value可以重复。无序、无下标

1、hashMap

存储结构:哈希表(数组+链表+红黑树)
方法:

  • put(k,v);存入
  • get(k);取值
  • containsKey();判断是否包含key
  • containsValue();判断 是否包含value
  • entrySet();返回映射关系中包含的映射视图
  • keySet();返回映射关系中包含的键的映射视图
package com.zheng.demo4;

import javax.lang.model.element.NestingKind;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MyMap {
    public static void main(String[] args) {

        //1、创建集合
        Map<String, String> map = new HashMap<>();

        //2、塞入值
        map.put("A", "我是A");
        map.put("B", "我是B");
        map.put("C", "我是C");
        map.put("D", "我是D");

        //判断
        System.out.println(map.containsKey("A"));
        System.out.println(map.containsValue("我是C"));

        System.out.println("map集合大小:" + map.size());
        System.out.println("打印:" + map.toString());

        //遍历1、使用keyset
        System.out.println("=======使用keyset=======");
        Set<String> set = map.keySet();
        for (String s : set) {
            System.out.println(s + "=======" + map.get(s));

        }

        System.out.println("=======使用entryset=======");

        Set<Map.Entry<String, String>> entries = map.entrySet();
        for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry.getKey() + "========" + entry.getValue());

        }

        //简化
        System.out.println("+===简化====+");
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println(entry.getKey() + "========" + entry.getValue());

        }


    }
}

java集合框架复习----(4)
java集合框架复习----(4)
jdk1.8后当链表长度大于8,转化为红黑树存储
jdk1.8后,当链表长度小于6,转化为链表存储

map集合的实现类

  • HashMap
    jdk1.2版本,线程不安全,运行快;允许null为key或者value
  • Hashtable
    jdk1.0版本,线程安全,运行慢,不允许null为key或者value
  • properties
    Hashtable的子类,使用String作为key或者value.通常用于配置文件的读取

六、Collections工具类

package com.zheng.demo5;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class MyCollection {
public static void main(String[] args) {
List arrayList = new ArrayList();
arrayList.add(4);
arrayList.add(1);
arrayList.add(5);
arrayList.add(3);
arrayList.add(6);
arrayList.add(2);

    System.out.println(arrayList.toString());
    System.out.println("调用排序工具类");
    //调用工具类排序
    Collections.sort(arrayList);
    System.out.println(arrayList.toString());

}

}

java集合框架复习----(4)

总结

集合的概念

对象的容器,和数组相似,定义了多个对象进行操作的常用方法

List集合

有序、有下标、元素可以重复(ArrayList,LinkedList,Vector)

set集合:

无序、无下标、元素不可重复(HashSet,TreeSet)

Map集合

存储一对数据,无序,无下标,键不可重复,值可以重复(HashMap,HashTable,TreeMap)

Collection

s:

  • 集合工具类,定义了除存取以外的集合常用方法
上一篇:Java连载149-集合类小节


下一篇:Unable to execute dex: Multiple dex files define(错误分析)