import java.util.*;
class Main
{
private static final int N = 50000;
public static void main
(String[] args
) {
testArrayList();
testLinkedList();
}
public static void testArrayList()
{
ArrayList<Object> liste = new ArrayList<Object>();
long before
= System.
nanoTime(); for (int i = N; i > 0; --i)
{
liste.add(liste.size()/2, o);
}
long after
= System.
nanoTime(); long delta = after - before;
double seconds = delta / 1000000000.0;
System.
out.
printf("ArrayList: %.2f seconds%n", seconds
); }
public static void testLinkedList()
{
LinkedList<Object> liste = new LinkedList<Object>();
long before
= System.
nanoTime(); for (int i = N; i > 0; --i)
{
liste.add(liste.size()/2, o);
}
long after
= System.
nanoTime(); long delta = after - before;
double seconds = delta / 1000000000.0;
System.
out.
printf("LinkedList: %.2f seconds%n", seconds
); }
}
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgTWFpbgp7CiAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBpbnQgTiA9IDUwMDAwOwoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICAgdGVzdEFycmF5TGlzdCgpOwogICAgICAgIHRlc3RMaW5rZWRMaXN0KCk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIHRlc3RBcnJheUxpc3QoKQogICAgewogICAgICAgIEFycmF5TGlzdDxPYmplY3Q+IGxpc3RlID0gbmV3IEFycmF5TGlzdDxPYmplY3Q+KCk7CiAgICAgICAgT2JqZWN0IG8gPSBuZXcgT2JqZWN0KCk7CiAgICAgICAgU3lzdGVtLmdjKCk7CiAgICAgICAgbG9uZyBiZWZvcmUgPSBTeXN0ZW0ubmFub1RpbWUoKTsKICAgICAgICBmb3IgKGludCBpID0gTjsgaSA+IDA7IC0taSkKICAgICAgICB7CiAgICAgICAgICAgIGxpc3RlLmFkZChsaXN0ZS5zaXplKCkvMiwgbyk7CiAgICAgICAgfQogICAgICAgIGxvbmcgYWZ0ZXIgPSBTeXN0ZW0ubmFub1RpbWUoKTsKICAgICAgICBsb25nIGRlbHRhID0gYWZ0ZXIgLSBiZWZvcmU7CiAgICAgICAgZG91YmxlIHNlY29uZHMgPSBkZWx0YSAvIDEwMDAwMDAwMDAuMDsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50ZigiQXJyYXlMaXN0OiAgJS4yZiBzZWNvbmRzJW4iLCBzZWNvbmRzKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgdGVzdExpbmtlZExpc3QoKQogICAgewogICAgICAgIExpbmtlZExpc3Q8T2JqZWN0PiBsaXN0ZSA9IG5ldyBMaW5rZWRMaXN0PE9iamVjdD4oKTsKICAgICAgICBPYmplY3QgbyA9IG5ldyBPYmplY3QoKTsKICAgICAgICBTeXN0ZW0uZ2MoKTsKICAgICAgICBsb25nIGJlZm9yZSA9IFN5c3RlbS5uYW5vVGltZSgpOwogICAgICAgIGZvciAoaW50IGkgPSBOOyBpID4gMDsgLS1pKQogICAgICAgIHsKICAgICAgICAgICAgbGlzdGUuYWRkKGxpc3RlLnNpemUoKS8yLCBvKTsKICAgICAgICB9CiAgICAgICAgbG9uZyBhZnRlciA9IFN5c3RlbS5uYW5vVGltZSgpOwogICAgICAgIGxvbmcgZGVsdGEgPSBhZnRlciAtIGJlZm9yZTsKICAgICAgICBkb3VibGUgc2Vjb25kcyA9IGRlbHRhIC8gMTAwMDAwMDAwMC4wOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRmKCJMaW5rZWRMaXN0OiAlLjJmIHNlY29uZHMlbiIsIHNlY29uZHMpOwogICAgfQp9Cg==