1.如何遍历 Map
的 key
集, value
集,key-value
集,使用上泛型。
@Test
public void test1() {
HashMap<String, Object> map = new HashMap<>();
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
map.put("key4","value4");
map.put("key5","value5");
map.put("key6","value6");
Set<String> keySet = map.keySet();
for (String s : keySet) {
System.out.println("Key:" + s);
}
Collection<Object> values = map.values();
for (Object value : values) {
System.out.println("Value:" + value);
}
Set<Map.Entry<String, Object>> entries = map.entrySet();
for (Map.Entry<String, Object> entry : entries) {
System.out.println("Key:" + entry.getKey());
System.out.println("Value:" + entry.getValue());
}
}
2.写出使用 Iterator
和增强 for
循环遍历 List<String>
的代码,使用上泛型
@Test
public void test2() {
/**
* 2.写出使用 `Iterator` 和增强 `for` 循环遍历 `List<String>` 的代
* 码,使用上泛型
*/
ArrayList<String> strings = new ArrayList<>();
strings.add("list1");
strings.add("list2");
strings.add("list3");
strings.add("list4");
strings.add("list5");
strings.add("list6");
Iterator<String> iterator = strings.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println("-----------");
for (String string : strings) {
System.out.println(string);
}
}
3.提供一个方法,用于遍历获取 HashMap<String,String>
中的所有 value
,并存放在 List
中返回。考虑上集合中泛型的使用。
public List<String> getHashMapToList(HashMap<String, String> map) {
Collection<String> values = map.values();
Iterator<String> iterator = values.iterator();
ArrayList<String> list = new ArrayList<>();
while (iterator.hasNext()) {
list.add(iterator.next());
}
/*
* 简便之一:
* Collection<String> values = map.values();
* List<String> list = new ArrayList(values);
* */
return list;
}
4.创建一个与 a.txt
文件同目录下的另外一个文件 b.txt
@Test
public void test4() {
File home = new File("home");
ArrayList<String> list = new ArrayList<>(Arrays.asList("a.txt", "b.txt"));
if (!home.exists()) {
home.mkdirs();
}
for (String s : list) {
File file = new File(home, s);
if (file.exists()) {
continue;
}
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
5.Map
接口中的常用方法有哪些
HashMap<Object, Object> map = new HashMap<>();
map.put(key, value); // 写入数据
map.putAll(Map); // 将另外一个 Map 结构全部写入
map.get(Object key); //根据 key 获取元素
map.size(); // map 元素长度
map.containKey(K key); // key 是否存在 map 中
map.containValue(value); //当前 value 是否存在 map 中
map.remove(key); // 删除一个元素
map.clear(); // 清空数据
map.keySet(); // 获取所有 map 当中的 key
map.values(); // 获取所有 value
map.entrySet(); //获取一个 entry 数据
map.replace(key, newValue); // 根据 key 更新 value
map.equals(Map); // 是否相同
Q.E.D.
Comments | 0 条评论