We want to connect the people who have knowledge to the people who need it, to bring together people with different perspectives so they can understand each other better, and to empower everyone to share their knowledge.
Task 1: Nhân các số với 2 : Mỗi lần thực hiện mất 10ms Task 2: Chia các số với 3 : Mỗi lần thực hiện mất 20ms Task 3: Nhân các số với 5 : Mỗi lần thực hiện mất 10ms Task 4: Cộng các số thêm 5 : Mỗi lần thực hiện mất 20ms
public class Main { public static void main(String[] args) { // Task 1: Nhân các số với 2 : Mỗi lần thực hiện mất 10ms // Task 2: Chia các số với 3 : Mỗi lần thực hiện mất 20ms // Task 3: Nhân các số với 5 : Mỗi lần thực hiện mất 10ms // Task 4: Cộng các số thêm 5 : Mỗi lần thực hiện mất 20ms final List<Integer> listOrigin = new ArrayList(); for (int i = 0; i < 200; ++i) { listOrigin.add(i); } forLoop(listOrigin); stream(listOrigin); } private static void stream(List<Integer> listOrigin) { final long streamStartTime = System.currentTimeMillis(); listOrigin.stream().parallel().map(data -> { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } return new TempDto(data, data * 2); }).map(data -> { try { Thread.sleep(20); } catch (InterruptedException e) { e.printStackTrace(); } return new TempDto(data.origin, data.result / 3); }).map(data -> { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } return new TempDto(data.origin, data.result * 5); }).map(data -> { try { Thread.sleep(20); } catch (InterruptedException e) { e.printStackTrace(); } return new TempDto(data.origin, data.result + 5); }).collect(Collectors.toList()); final long streamElapsed = System.currentTimeMillis() - streamStartTime; System.out.println("stream elapsed: " + streamElapsed); } public static class TempDto { Integer origin; Integer result; public TempDto(Integer origin, Integer result) { this.origin = origin; this.result = result; } } private static void forLoop(List<Integer> listOrigin) { try { final Map<Integer, Integer> forLoopCopy = new HashMap<>(); final long forLoopStartTime = System.currentTimeMillis(); for (Integer item : listOrigin) { Thread.sleep(10); int resultTask1 = item * 2; Thread.sleep(20); int resultTask2 = resultTask1 / 3; Thread.sleep(10); int resultTask3 = resultTask2 * 5; Thread.sleep(20); int resultTask4 = resultTask3 + 5; forLoopCopy.put(item, resultTask4); } final long forLoopElapsed = System.currentTimeMillis() - forLoopStartTime; System.out.println("for loop elapsed: " + forLoopElapsed); } catch (Exception exception) { exception.printStackTrace(); } } }
for loop elapsed: 18725 stream elapsed: 2521
2.2K Point(s)
1.2K Point(s)
313 Point(s)
178 Point(s)
138 Point(s)
Input your email to receive reset password link, or if you remember your password, you can click