uaveiro-leci/1ano/2semestre/poo/src/aula09/ex2/CollectionTester.java

47 lines
1.8 KiB
Java
Raw Normal View History

2023-05-02 10:20:41 +00:00
package aula09.ex2;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionTester {
public static void main(String[] args) {
int DIM = 5000;
Collection<Integer> col = new ArrayList<>();
2023-05-02 10:20:41 +00:00
checkPerformance(col, DIM);
}
private static void checkPerformance(Collection<Integer> col, int DIM) {
double start, stop, delta;
// Add
start = System.nanoTime(); // clock snapshot before
for (int i = 0; i < DIM; i++)
2023-05-02 10:20:41 +00:00
col.add(i);
stop = System.nanoTime(); // clock snapshot after
delta = (stop - start) / 1e6; // convert to milliseconds
System.out.println(col.size() + ": Add to " + col.getClass().getSimpleName() + " took " + delta + "ms");
2023-05-02 10:20:41 +00:00
// Search
start = System.nanoTime(); // clock snapshot before
for (int i = 0; i < DIM; i++) {
int n = (int) (Math.random() * DIM);
if (!col.contains(n))
System.out.println("Not found???" + n);
2023-05-02 10:20:41 +00:00
}
stop = System.nanoTime(); // clock snapshot after
delta = (stop - start) / 1e6; // convert nanoseconds to milliseconds
System.out.println(col.size() + ": Search to " + col.getClass().getSimpleName() + " took " + delta + "ms");
2023-05-02 10:20:41 +00:00
// Remove
start = System.nanoTime(); // clock snapshot before
Iterator<Integer> iterator = col.iterator();
while (iterator.hasNext()) {
2023-05-02 10:20:41 +00:00
iterator.next();
iterator.remove();
}
stop = System.nanoTime(); // clock snapshot after
delta = (stop - start) / 1e6; // convert nanoseconds to milliseconds
System.out.println(col.size() + ": Remove from " + col.getClass().getSimpleName() + " took " + delta + "ms");
2023-05-02 10:20:41 +00:00
}
}