J2SE堂上实例2.5Java中Map接口及其实现类

Collection接口和Map接口都是集合框架的老祖先

 

 

其中Collection 是单列集合,Map是双列集合

key-value键值对

键可以重复,但值不可以重复

 

Map:

(1)HashMap 底层存储结构是哈希表 键值都可以为NULL

(2)TreeMap  底层是二叉树,支持键排序

(3)HashTable 底层存储结构是哈希表,但键值不可以为NULL,已经过时,少用

 

keyset,valueset ,entryset(Map.Entry)

entry=一行,一个条目、

TreeMap:有序的(键是有序的)

 

 

测试类:

package javastudy;

import java.security.KeyStore.Entry;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;

import org.omg.IOP.Codec;

public class MyTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//HashMap<String, String> cities = new HashMap<String, String>();
		TreeMap<String, String> cities = new TreeMap<String, String>();
		cities.put("010","北京");
		cities.put("011","东京");
		cities.put("012","西京");
		cities.put("013","南京");
	
		//1.获得所有键的集合keyset
		Set<String> zips = cities.keySet();// 不允许键重复,可以用Set存放
		Iterator<String> it = zips.iterator();
		while (it.hasNext()) {
			int Number=zips.size();
			
			String zip = it.next();
			String cityName = cities.get(zip);
			System.out.println(zip + ":" + cityName);
			
	
		}
		
		//2.获得所有值的集合valueset
		Collection<String> cityNames = cities.values();// 值可以重复,可以用Collection存放
		Iterator<String> it1 = cityNames.iterator();
		while (it1.hasNext()) {

			System.out.println(it1.next());
		}
		
		//3.获得所有条目entryset
		Set<java.util.Map.Entry<String, String>> entries = cities.entrySet();
		Iterator<java.util.Map.Entry<String, String>> it2 = entries.iterator();
		while (it2.hasNext()) {
			java.util.Map.Entry<String, String> entry = it2.next();
			System.out.println(entry.getKey() + ":" + entry.getValue());
		}

	}

}
//class cite {
//	String Number;
//	String Name;
//	cite(String Number,String Name){
//		
//		this.Number=Number;
//		this.Name=Name;
//	}
//	@Override
//	public String toString() {
//		return "cite [Number=" + Number + ", Name=" + Name + "]";
//	}
//	
//}
//
//
//class MyCom implements Comparator<cite>{
//
//	@Override
//	public int compare(cite o1, cite o2) {
//		// TODO Auto-generated method stub
//		return o1.Name.compareTo(o2.Name);
//	}
//	
//    
//}
//
//     
//
//	

 

读取方式

1.获得所有键的集合keyset

2.获得所有值的集合valueset

3.获得所有条目entryset

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值