1 Foreach entrySet方式
@Test
public void test1(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
for (Map.Entry<Integer,String> entry:languages.entrySet()) {
log.info("key:"+entry.getKey());
log.info("value:"+entry.getValue());
}
}
2 Foreach keySet方式
@Test
public void test2(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
for (Integer key:languages.keySet()) {
log.info("key:"+key);
log.info("value:"+languages.get(key));
}
}
3 Iterator EntrySet方式
@Test
public void test3(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
Iterator<Map.Entry<Integer, String>> iterator = languages.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<Integer, String> next = iterator.next();
log.info("key:"+next.getKey());
log.info("value:"+next.getValue());
}
}
4 Iterator KeySet方式
@Test
public void test4(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
Iterator<Integer> iterator = languages.keySet().iterator();
while (iterator.hasNext()){
log.info("key:"+iterator.next());
log.info("value:"+languages.get(iterator.next()));
}
}
5 Lambda表达式
@Test
public void test5(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
languages.forEach((k,v)->{
log.info("key:"+k);
log.info("value:"+v);
});
}
6 Stream API方式
- Stream API 单线程
@Test
public void test6(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
languages.entrySet().stream().forEach(entry->{
log.info("key:"+entry.getKey());
log.info("value:"+entry.getValue());
});
}
-
Stream API 多线程
@Test public void test7(){ HashMap<Integer,String> languages=new HashMap<>(); languages.put(1,"java"); languages.put(2,"C#"); languages.put(3,"javascript"); languages.put(4,"C"); languages.put(5,"C++"); languages.entrySet().parallelStream().forEach(entry->{ log.info("key:"+entry.getKey()); log.info("value:"+entry.getValue()); }); }
1248

被折叠的 条评论
为什么被折叠?



