import java.util.*;
class Main
{
private static final int N = 100000;
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(0, 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(0, o);
}
long after
= System.
nanoTime(); long delta = after - before;
double seconds = delta / 1000000000.0;
System.
out.
printf("LinkedList: %.2f seconds%n", seconds
); }
}
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgTWFpbgp7CiAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBpbnQgTiA9IDEwMDAwMDsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKQogICAgewogICAgICAgIHRlc3RBcnJheUxpc3QoKTsKICAgICAgICB0ZXN0TGlua2VkTGlzdCgpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCB0ZXN0QXJyYXlMaXN0KCkKICAgIHsKICAgICAgICBBcnJheUxpc3Q8T2JqZWN0PiBsaXN0ZSA9IG5ldyBBcnJheUxpc3Q8T2JqZWN0PigpOwogICAgICAgIE9iamVjdCBvID0gbmV3IE9iamVjdCgpOwogICAgICAgIFN5c3RlbS5nYygpOwogICAgICAgIGxvbmcgYmVmb3JlID0gU3lzdGVtLm5hbm9UaW1lKCk7CiAgICAgICAgZm9yIChpbnQgaSA9IE47IGkgPiAwOyAtLWkpCiAgICAgICAgewogICAgICAgICAgICBsaXN0ZS5hZGQoMCwgbyk7CiAgICAgICAgfQogICAgICAgIGxvbmcgYWZ0ZXIgPSBTeXN0ZW0ubmFub1RpbWUoKTsKICAgICAgICBsb25nIGRlbHRhID0gYWZ0ZXIgLSBiZWZvcmU7CiAgICAgICAgZG91YmxlIHNlY29uZHMgPSBkZWx0YSAvIDEwMDAwMDAwMDAuMDsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50ZigiQXJyYXlMaXN0OiAgJS4yZiBzZWNvbmRzJW4iLCBzZWNvbmRzKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgdGVzdExpbmtlZExpc3QoKQogICAgewogICAgICAgIExpbmtlZExpc3Q8T2JqZWN0PiBsaXN0ZSA9IG5ldyBMaW5rZWRMaXN0PE9iamVjdD4oKTsKICAgICAgICBPYmplY3QgbyA9IG5ldyBPYmplY3QoKTsKICAgICAgICBTeXN0ZW0uZ2MoKTsKICAgICAgICBsb25nIGJlZm9yZSA9IFN5c3RlbS5uYW5vVGltZSgpOwogICAgICAgIGZvciAoaW50IGkgPSBOOyBpID4gMDsgLS1pKQogICAgICAgIHsKICAgICAgICAgICAgbGlzdGUuYWRkKDAsIG8pOwogICAgICAgIH0KICAgICAgICBsb25nIGFmdGVyID0gU3lzdGVtLm5hbm9UaW1lKCk7CiAgICAgICAgbG9uZyBkZWx0YSA9IGFmdGVyIC0gYmVmb3JlOwogICAgICAgIGRvdWJsZSBzZWNvbmRzID0gZGVsdGEgLyAxMDAwMDAwMDAwLjA7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGYoIkxpbmtlZExpc3Q6ICUuMmYgc2Vjb25kcyVuIiwgc2Vjb25kcyk7CiAgICB9Cn0K