public class MyDemo { private static final Logger log = LoggerFactory.getLogger(MyDemo.class); public static void main(String[] args) { List<Integer> list = new ArrayList(); for(int i =0;i<1000000;i++){ list.add(i); } long end = System.currentTimeMillis(); for(Integer i:list){ new String(); } long start = System.currentTimeMillis(); log.info("for :::::>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>總耗時:"+(start-end)); for(int i=0;i<list.size();i++){ new String(); } end = System.currentTimeMillis(); log.info("for size >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>總耗時:"+(end-start)); list.stream().map(s->{ return new String(); }); start = System.currentTimeMillis(); log.info("stream()>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>總耗時:"+(start-end)); list.forEach(s->{ new String(); } ); end = System.currentTimeMillis(); log.info("foreach >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>總耗時:"+(end-start)); } }
結果輸出:
[INFO] for :::::>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>總耗時:7 [INFO] for size >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>總耗時:5 [INFO] stream()>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>總耗時:48 [INFO] foreach >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>總耗時:7
綜合結果:for size>for>foreach>stream()