Map的幾種遍歷取值方式
阿新 • • 發佈:2018-11-11
今天心情不好,上午花了一點時間來寫Demo,到網上逛了逛,也算整理了一下基礎知識,未來的路還有很長,這樣的Demo也會有很多。
import org.junit.Test; import java.util.*; public class test { @Test public static void main(String[] args) { List<Object> list = new ArrayList<>(); Map<Object,Object> map = new HashMap<>(); map.put(1,"java"); map.put(2,"python"); map.put(3,"R"); System.out.println(map); list.add(map); /** * 使用keySet遍歷map拿到key value */ //只取出key for(Object key : map.keySet()){ //取出所有key System.out.println(key); //單獨取出一個key int m = Integer.parseInt(key.toString()); if(m == 1) { System.out.println(key); } } //只取出value for(Object value :map.values()){ //取出所有value System.out.println(value); //單獨取出一個value if("R".equals(value)) { System.out.println(value); } } System.out.println("===============分割線=================="); //key value一起取 for(Object key :map.keySet()){ System.out.println(key + "--" + map.get(key)); } System.out.println("===============分割線=================="); /** * 使用entrySet拿到map的key value */ for(Map.Entry<Object,Object> entry :map.entrySet()){ System.out.println(entry.getKey() +"--" +entry.getValue()); } System.out.println("===============分割線=================="); /** * 使用迭代器遍歷map(可以刪除元素) */ Iterator<Map.Entry<Object,Object>> it = map.entrySet().iterator(); while (it.hasNext()){ Map.Entry<Object,Object> entry = it.next(); System.out.println(entry.getKey() + "--" + entry.getValue()); if("java".equals(entry.getValue())) { it.remove(); } } System.out.println(map); //map新增元素 map.put(1,"java"); System.out.println("===============分割線=================="); System.out.println(list); } }
本來想把map再放進list裡面的,但是還得工作,明天接著寫list<map<Obj,Obj>>的遍歷吧
程式碼可能會跟網上一些差不多,是我學習別人的然後整理了一下再寫出來的,應該不算抄襲吧,如有不對請指正。