Java教程

Map集合相关知识(Java)

本文主要是介绍Map集合相关知识(Java),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、

1、特点:

(1)用于存储任意键值对;(2)键:无序,无下标,不允许重复;

(3)值:无序,无下标,允许重复。

2、方法:

(1)

package com.qf.chapter_05;

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class TestMap {
	public static void main(String[] args) {
		//1创建集合
		Map<String, String> map=new HashMap<>();
		//2添加元素
		map.put("cn", "china");
		map.put("usa", "americn");
		map.put("uk", "england");
		System.out.println(map.size());
		System.out.println(map.toString());
		//3删除
		//map.remove("usa");//按键删除
		//4遍历
		//4.1 keySet()所有键
		//Set<String> keySet=map.keySet();
		for(String key:map.keySet() ) {
			System.out.println(key+"===="+map.get(key));
		}
		//4.2 entrySet()所有键值对,更高效
		//Set<Map.Entry<String, String>> entries=map.entrySet();
		for(Map.Entry<String, String> entry:map.entrySet()) {
			System.out.println(entry.getKey()+"====="+entry.getValue());
		}
		//5
		System.out.println(map.containsKey("cn"));
		System.out.println(map.containsValue("china"));
	}
}

(2)HashMap

运行效率快,线程不安全,允许使用null作为key   or  value

package com.qf.chapter_05;

import java.util.HashMap;
import java.util.Map;

public class TestHashMap {
	public static void main(String[] args) {
		//没有添加元素时,table=null,size=0
		HashMap<Student, String> students=new HashMap<>();
		//
		Student s1=new Student("zps",100);
		Student s2=new Student("ww",200);
		Student s3=new Student("zll",140);
		students.put(s1, "jx");
		students.put(s2, "hn");
		students.put(s3, "hk");
		System.out.println(students.size());
		System.out.println(students.toString());
		//
		for(Map.Entry<Student, String> entry:students.entrySet()) {
			System.out.println(entry.getKey()+"   "+entry.getValue());
		}
	}
}
package com.qf.chapter_05;

public class Student {
	private String name;
	private int num;
	public Student() {
		// TODO 自动生成的构造函数存根
	}
	public Student(String name, int num) {
		super();
		this.name = name;
		this.num = num;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	@Override
	public String toString() {
		return "Student [name=" + name + ", num=" + num + "]";
	}
	
}

1、HashMap刚创建时,table=null,为了节省空间,当加入第一个元素时,table=16;

2、

(3)TreeMap

实现了SortedMap接口(是Map的子接口),可以对key自动排序

 存储结构为红黑树

其他操作与HashMap一样

二、Collection工具类

reverse反转集合中元素顺序
binarySearch查找元素,要先排序
shuffle随机重置元素顺序
sort升序
copy复制,size要一样
toArray(new     )list转数组
Arrays.asList数组转集合,集合不能添加和删除

这篇关于Map集合相关知识(Java)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!