Java集合Map,HashMap的使用,for循环正解

工作内容:

java集合Map,HashMap的使用

学习分享:

Map
HashMap:键值对,键值唯一,存储时(调用put(K,V)方法)键值与已有的键值相同,则新的V值覆盖原V值。
Set keys = map.keySet();//返回此映射中所包含的键的 Set 视图。keys会随着map的变化而变化
Set keySet = map.keySet();
Map.put或map.remove操作,看keySet是否跟着变化
Iterator keys= keySet.iterator();
while (keys.hasNext()) {
System.out.println(map.get(keys.next()));
}

For循环理解

循环语句:for([表达式1];[表达式2],[表达式3]){循环体4 }【分号一个都不能少】

1.执行步骤:124324...

2.当1不存在时:继续往后执行

3.当2不存在时或者是true时:默认for语句可以永远执行下去,遇到break,return则退出循环。

4.当3不存在时,需在2后面添加“;


测试用例:

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class MapDemo {
	public static void main(String[] args) {
		Map map = new HashMap();
		map.put(1, "花花");
		map.put(2, "草草");
		map.put(3, "叶叶");
		map.put(4, "瓶瓶");
		map.put(4, "新瓶瓶");
		System.out.println(map);
		Set keySet = map.keySet();
		// 测试keyset是否是会跟随map的变化而变化
		// 结果:是
		map.put(5, "点点");
		map.remove(2);
		Iterator keys = keySet.iterator();
		while (keys.hasNext()) {
			System.out.println(map.get(keys.next()));
		}
		Set> entries = map.entrySet();
		for (Entry entry : entries) {
			System.out.println(entry);
		}
		// 获取value
		Collection collection = map.values();
		System.out.println(collection);
		// 使用for-each输出value值
		for (String string : collection) {
			System.out.println(string);
		}
		System.out.println("使用迭代器遍历:");
		// for语句的使用for(表达式1;表达式2;表达式3){ 内容4 }
		for (Iterator iterator = collection.iterator(); iterator.hasNext();) {
			String string = (String) iterator.next();
			System.out.println(string);
		}
		String[] name = { "tym", "cww", "tym", "flj", "tym", "flj" };
		Map map2 = new HashMap();
		// 在添加过程中,把value设置为出现的次数
		for (int i = 0; i < name.length; i++) {
			if (!map2.containsKey(name[i])) {
				map2.put(name[i], 1);
			} else {
				map2.put(name[i], map2.get(name[i]) + 1);
			}
		}
		System.out.println(map2);
	}
}


你可能感兴趣的:(Java基础)