引言
在工作中大部分时间都会涉及到对list的遍历,java8为我们提供的的stream方便我们对集合的操作。我在工作中使用流式操作也非常多,使用越发熟练变多,不禁让我对list与map遍历效率产生疑问,究竟哪种效率更高呢?现在就让我们一探究竟吧。
前期准备
测试类如下:
@Data
@Builder
@ToString
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class Person {
Integer age;
String name;
String skin;
}
复制代码
比对效率
思路非常简单,使用list与map对同一个集合分别进行遍历,在集合元素不同个数是,通过遍历时间即可辨别效率。话不多说,上代码~
public class PerformanceTest {
public static void main(String[] args) {
List list = new ArrayList<>(2<<6);
for (int i = 0; i < 100000; i++) {
list.add(Person.builder().age(i).name(&#