java 大数据量使用List,Map存取速度的比较

时间:2025-04-27 14:19:00
package com.zl.mybatis.plus; import java.util.*; public class Main { public static void main(String arg[]) { Map<Integer, User> userMap = new HashMap<>(); List<User> list = new ArrayList<>(); for (int i = 0; i < 1000000; i++) { User user=new User(); user.setName("name" + i); user.setSex("女"); user.setMath(60); user.setChinese(120); user.setEnglish(60); userMap.put(i, user); list.add(user); } Long el = System.currentTimeMillis(); for (User user : list) { int math = user.getMath(); int chinese = user.getChinese(); int english = user.getEnglish(); int sum = math + chinese + english; } Long ej = System.currentTimeMillis(); System.out.println("list for-each时间差:" + (ej - el)); System.out.println("**********************************************"); Long e = System.currentTimeMillis(); int size=list.size(); for (int i=0;i<size;i++){ User user=list.get(i); int math = user.getMath(); int chinese = user.getChinese(); int english = user.getEnglish(); int sum = math + chinese + english; } Long le = System.currentTimeMillis(); System.out.println("list时间差:" + (le - e)); System.out.println("**********************************************"); Long l = System.currentTimeMillis(); for (Map.Entry<Integer,User> entry : userMap.entrySet()) { User user=entry.getValue(); int math = user.getMath(); int chinese = user.getChinese(); int english = user.getEnglish(); int sum = math + chinese + english; } Long ll = System.currentTimeMillis(); System.out.println("map时间差:" + (ll - l)); } }