Map接口

Map接口

    Map接口是一种双列集合,它的每个元素都包含一个键对象Key和一个值对象Value,键和值对象之间存在一种对应关系,称为映射。

HashMap集合

    HashMap集合是Map接口的一个实现类,它用于存储键映射关系,但必须保证不出现重复的键。

以下是几种遍历方法:

package pk_01;

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

public class Example11 {

	public static void main(String[] args) {
		Map<String, String> map=new HashMap<String, String>();
		map.put("1", "Jack");
		map.put("2", "Rose");
		map.put("3", "Luck");
		
		第一种遍历
		System.out.println("1:"+map.get("1"));
		System.out.println("2:"+map.get("2"));
		System.out.println("3:"+map.get("3"));
		
		
		第二种遍历
		Set<String> keySet=map.keySet();//获取键的集合
		Iterator<String> it=keySet.iterator();
		while(it.hasNext()) {
			Object key=it.next();
			Object value=map.get(key);
			System.out.println(key+":"+value);
		}
		第三种遍历
		Set entrySet=map.entrySet();
		Iterator it=entrySet.iterator();
		while (it.hasNext()) {
			Map.Entry entry=(Map.Entry) (it.next());//获取集合中键值对映射关系
			Object key=entry.getKey();				//获取Entry中的键
			Object value=entry.getValue();			//获取Entry中的值
			System.out.println(key+":"+value);
			
		}
		第四种遍历
		Set KeySet=map.keySet();
		Iterator it=KeySet.iterator();
		while (it.hasNext()) {
			Object key=it.next();
			Object value=map.get(key);
			System.out.println(key+":"+value);
			
		}

	}

}

TreeMap集合

    TreeMap集合是用来存储键值映射关系的,其中不允许出现重复的键。这与TreeSet集合的存储原理是一样的,因此TreeMap中所有的键是按照某种顺序排列的。

package pk_01;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;

public class Example12 {

	public static void main(String[] args) {
		TreeMap<String, String> tm=new TreeMap<String, String>();
		tm.put("1", "Jack");
		tm.put("2", "Rose");
		tm.put("3", "Luck");
		Set<String> keySet=tm.keySet();
		Iterator<String> it=keySet.iterator();
		while (it.hasNext()) {
			Object key=it.next();
			Object value=tm.get(key);
			System.out.println(key+":"+value);
			
		}

	}

}

自定义比较器来进行排序:

package pk_01;

import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;

//自定义比较器
class MyComparator1 implements Comparator<Object>{

	public int compare(Object obj1, Object obj2) {
		String id1=(String)obj1;
		String id2=(String)obj2;
		return id2.compareTo(id1);
	}
	
}

public class Example13 {

	public static void main(String[] args) {
		TreeMap<String, String> tm=new TreeMap<String, String>(new MyComparator1());
		tm.put("1", "Jack");
		tm.put("2", "Rose");
		tm.put("3", "Luck");
		Set<String> keySet=tm.keySet();
		Iterator<String> it=keySet.iterator();
		while (it.hasNext()) {
			Object key=it.next();
			Object value=tm.get(key);
			System.out.println(key+":"+value);
			
		}

	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值