1.描述HashMap內部實現原理。java
HashMap存的是K-V對,K是惟一的不重複的。算法
在存儲方式上hashmap底層實現了一個散列算法,散列是一種基於關鍵詞的搜索算法,提高了hashmap的查找速度。hashmap的查找機制是先用對象的hashcode得出一個地址用equals比較地址中的鏈表的各個元素,若是形同,取出對應的value值。編程
2.描述Hashset和HashMap的區別。ide
HashSet:HashSet集合內部是經過HashMap進行實現的,使用的是hashMap中key部分。實現set接口,set繼承collection接口。
spa
HashMap:實現Map接口,Map接口與collection接口是同級的。它們都具備不重複的特色,採用hash機制進行存儲。設計
3.年級的集合使用Map的嵌套實現。 10班,每一個班50人。code
import java.util.HashMap;orm
import java.util.Map;對象
import java.util.Map.Entry;繼承
/**
* 年級的集合使用Map的嵌套實現。 10班,每一個班50人。
*
* @author admin
*
*/
public class Map_嵌套循環做業1 {
public static void main(String[] args) {
// 建立班級號
Map<Integer, Map<String, String>> classes = new HashMap<Integer, Map<String, String>>();
// 建立班級的名單集合
Map<String, String> names = null;
int no = 1;
for (int i = 1; i <= 10; i++) {
names = new HashMap<String, String>();
classes.put(i, names);// 將班級名單放入班級號集合中
for (int j = 1; j <= 50; j++) {
names.put("學號" + j, "Marry" + no);
no++;
}
}
// 讀取map嵌套循環
for (Entry<Integer, Map<String, String>> entry : classes.entrySet()) {
Integer key = entry.getKey();
Map<String, String> values = entry.getValue();
for (Entry<String, String> entry0 : values.entrySet()) {
// 取學號
String classNum = entry0.getKey();
// 取名字
String nameSet = entry0.getValue();
System.out.println(key + "." + classNum + "," + nameSet);
}
}
}
}
4.編程實現文本文件的複製。合理設計程序,獲得緩衝區的大小的高效區間。
提示緩衝區設置1k開始,不超過10M。
/**
* 4.編程實現文本文件的複製。合理設計程序,獲得緩衝區的大小的高效區間。 提示緩衝區設置1k開始,不超過10M。
*
* @author admin
*
*/
public class copy_做業 {
public static void main(String[] args) {
// 獲取系統屬性
String str = System.getProperty("line.separator");
System.out.println(str);
String srcFile = "d:/aa.txt";
String tarFile = "d:/bb.txt";
FileReader reader = null;
FileWriter writer = null;
try {
// 讀取src文件的reader
reader = new FileReader(srcFile);
// 寫入tar文件的fileWriter
writer = new FileWriter(tarFile, false);
// 定義字符緩衝區
char[] buf = new char[1024];
int len = 0;
while ((len = reader.read(buf)) != -1) {
writer.write(buf, 0, len);
}
System.out.println("over");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
if (writer != null) {
writer.close();
}
} catch (Exception e2) {
}
}
}
}