JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

总结下HashMap的7种遍历方法

wys521 2024-12-24 12:44:53 精选教程 21 ℃ 0 评论

1 简介

HashSet在日常的开发过程中,用到的地方非常多,但是在遍历Set的时候也有很多中方法,本文就把HashSet的所有遍历方法列下。

2 各个方法

2.1 数据准备

Map<Integer,String> map;
@Before
public void init(){
  map = new HashMap<>();
  map.put(1,"Java");
  map.put(2,"Spring");
  map.put(3,"Flink");
}

2.2 ForEach EntrySet

@Test
public void forEachEntrySet(){
  //ForEach EntrySet,性能最高
  for(Map.Entry<Integer,String> entry:map.entrySet()){
    log.info(entry.getKey());
    log.info(entry.getValue());
  }
}

2.3 迭代器EntrySet

@Test
public void iteratorEntrySet(){
  //迭代器EntrySet
  Iterator<Map.Entry<Integer,String>> iterator = map.entrySet().iterator();
  while (iterator.hasNext()){
    Map.Entry<Integer,String> entry = iterator.next();
    log.info(entry.getKey());
    log.info(entry.getValue());
  }
}

2.4 迭代器KeySet

@Test
public void iteratorKeySet(){
  //迭代器KeySet
  Iterator<Integer> iterator = map.keySet().iterator();
  while (iterator.hasNext()){
    Integer key = iterator.next();
    log.info(key);
    log.info(map.get(key));
  }
}

2.5 ForEach KeySet

@Test
public void forEachKeySet(){
  //ForEach KeySet
  for (Integer key:map.keySet()){
    log.info(key);
    log.info(map.get(key));
  }
}

2.6 forEach

@Test
public void forEach(){
  //forEach
  map.forEach((key,value)->{
    log.info(key);
  log.info(value);
});
}

2.7 Stream 单线程

@Test
public void streamForEach(){
  //Stream 单线程
  map.entrySet().stream().forEach(entry->{
    log.info(entry.getKey());
  log.info(entry.getValue());
});
}

2.8 Stream 多线程

@Test
public void parallelStreamForEach(){
  //Stream 多线程
  map.entrySet().parallelStream().forEach(entry->{
    log.info(entry.getKey());
  log.info(entry.getValue());
});
}

【温馨提示】

点赞+收藏文章,关注我并私信回复【面试题解析】,即可100%免费领取楼主的所有面试题资料!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表