⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex12(2).java

📁 JAVA编程思想第四版英文原版习题答案. pdf原版的
💻 JAVA
字号:
// containers/Ex12.java
// TIJ4 Chapter Containers, Exercise 12, page 833
// Substitute a HashMap, a TreeMap and a LinkedHashMap
// in AssociativeArray.java's main().
import static net.mindview.util.Print.*;
import java.util.*;

public class Ex12<K,V> {
	private Object[][] pairs;
	private int index;	
	public Ex12(int length) {
		pairs = new Object[length][2];
	}
	public void put(K key, V value) {
		if(index >= pairs.length)
			throw new ArrayIndexOutOfBoundsException();
		pairs[index++] = new Object[] { key, value };
	}
	@SuppressWarnings("unchecked")
	public V get(K key) {
		for(int i = 0; i < index; i++)
			if(key.equals(pairs[i][0]))
				return (V)pairs[i][1];
		return null; // Did not find key
	}
	public String toString() {
		StringBuilder result = new StringBuilder();
		for(int i = 0; i < index; i++) {
			result.append(pairs[i][0].toString());
			result.append(" : ");
			result.append(pairs[i][1].toString());
			if(i < index - 1)
				result.append("\n");
		}		
		return result.toString();
	}
	public static void main(String[] args) {
		Ex12<String,String> map = 
			new Ex12<String,String>(6);
		map.put("sky", "blue");
		map.put("grass", "green");
		map.put("ocean", "dancing");
		map.put("tree", "tall");
		map.put("earth", "brown");
		map.put("sun", "warm");
		try {
			map.put("extra", "object"); // Past the end
		} catch(ArrayIndexOutOfBoundsException e) {
			print("Too many objects");
		}
		print(map);
		print(map.get("ocean"));
		HashMap<String,String> hashMap = 
			new HashMap<String,String>(6);
		hashMap.put("sky", "blue");
		hashMap.put("grass", "green");
		hashMap.put("ocean", "dancing");
		hashMap.put("tree", "tall");
		hashMap.put("earth", "brown");
		hashMap.put("sun", "warm");
		try {
			hashMap.put("extra", "object"); // Past the end
		} catch(ArrayIndexOutOfBoundsException e) {
			print("Too many objects");
		}
		print(hashMap);
		print(hashMap.get("ocean"));
		TreeMap<String,String> treeMap = 
			new TreeMap<String,String>();
		treeMap.put("sky", "blue");
		treeMap.put("grass", "green");
		treeMap.put("ocean", "dancing");
		treeMap.put("tree", "tall");
		treeMap.put("earth", "brown");
		treeMap.put("sun", "warm");
		try {
			treeMap.put("extra", "object"); // Past the end
		} catch(ArrayIndexOutOfBoundsException e) {
			print("Too many objects");
		}
		print(treeMap);
		print(treeMap.get("ocean"));
		LinkedHashMap<String,String> linkedHashMap = 
			new LinkedHashMap<String,String>(6);
		linkedHashMap.put("sky", "blue");
		linkedHashMap.put("grass", "green");
		linkedHashMap.put("ocean", "dancing");
		linkedHashMap.put("tree", "tall");
		linkedHashMap.put("earth", "brown");
		linkedHashMap.put("sun", "warm");
		try {
			linkedHashMap.put("extra", "object"); // Too far
		} catch(ArrayIndexOutOfBoundsException e) {
			print("Too many objects");
		}
		print(linkedHashMap);
		print(linkedHashMap.get("ocean"));
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -