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

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

 

J2SE堂上实例2.5Java中Map接口及其实现类_第1张图片

 

其中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 cities = new HashMap();
		TreeMap cities = new TreeMap();
		cities.put("010","北京");
		cities.put("011","东京");
		cities.put("012","西京");
		cities.put("013","南京");
	
		//1.获得所有键的集合keyset
		Set zips = cities.keySet();// 不允许键重复,可以用Set存放
		Iterator 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 cityNames = cities.values();// 值可以重复,可以用Collection存放
		Iterator it1 = cityNames.iterator();
		while (it1.hasNext()) {

			System.out.println(it1.next());
		}
		
		//3.获得所有条目entryset
		Set> entries = cities.entrySet();
		Iterator> it2 = entries.iterator();
		while (it2.hasNext()) {
			java.util.Map.Entry 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{
//
//	@Override
//	public int compare(cite o1, cite o2) {
//		// TODO Auto-generated method stub
//		return o1.Name.compareTo(o2.Name);
//	}
//	
//    
//}
//
//     
//
//	

 

读取方式

1.获得所有键的集合keyset

J2SE堂上实例2.5Java中Map接口及其实现类_第2张图片

2.获得所有值的集合valuesetJ2SE堂上实例2.5Java中Map接口及其实现类_第3张图片

3.获得所有条目entrysetJ2SE堂上实例2.5Java中Map接口及其实现类_第4张图片

你可能感兴趣的:(Java课上笔记,J2SE,JAVA,Map及其实现类)