java--ArrayList,LinkedList应用比较
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java--ArrayList,LinkedList应用比较,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3912字,纯文字阅读大概需要6分钟。
内容图文
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class ListDemo {
//jdk8
public static void main(String[] args){
// add("ArrayList",50000);//11
// add("LinkedList",50000);//8
// add("ArrayList",1000000);//81
// add("LinkedList",1000000);//132
// addFirst("ArrayList",5000);//7
// addFirst("LinkedList",5000);//2
// addFirst("ArrayList",50000);//160
// addFirst("LinkedList",50000);//5
// remove("ArrayList",5000);//1
// remove("LinkedList",5000);//2
// remove("ArrayList",1000000);//2
// remove("LinkedList",1000000);//15
//
// removeFirst("ArrayList",5000);//5
// removeFirst("LinkedList",5000);//1
// removeFirst("ArrayList",100000);//795
// removeFirst("LinkedList",100000);//2
// removeMiddle("ArrayList",5000);//3
// removeMiddle("LinkedList",5000);//23
// removeMiddle("ArrayList",100000);//446
// removeMiddle("LinkedList",100000);//5637
}
public static void add(String s,int a){
if (s.equals("ArrayList")){
List<Object> list = new ArrayList<>();
long begin = System.currentTimeMillis();
for (int i = 0; i < a; i++) {
list.add(new Object());
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
}else {
LinkedList<Object> list = new LinkedList<>();
long begin = System.currentTimeMillis();
for (int i = 0; i < a; i++) {
list.add(new Object());
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
}
}
public static void addFirst(String s,int a){
if (s.equals("ArrayList")){
ArrayList<Object> list = new ArrayList<>();
long begin = System.currentTimeMillis();
for (int i = 0; i < a; i++) {
list.add(0,new Object());
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
}else {
LinkedList<Object> list = new LinkedList<>();
long begin = System.currentTimeMillis();
for (int i = 0; i < a; i++) {
list.addFirst(new Object());
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
}
}
public static void remove(String s,int a){
if (s.equals("ArrayList")){
List<Object> list = new ArrayList<>();
for (int i = 0; i < a; i++) {
list.add(i);
}
long begin = System.currentTimeMillis();
for (int i = 0; i < a; i++) {
list.remove(list.size()-1);
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
} else {
LinkedList<Object> list = new LinkedList<>();
for (int i = 0; i < a; i++) {
list.add(i);
}
long begin = System.currentTimeMillis();
for (int i = 0; i < a; i++) {
list.removeLast();
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
}
}
public static void removeFirst(String s,int a){
if (s.equals("ArrayList")){
List<Object> list = new ArrayList<>();
for (int i = 0; i < a; i++) {
list.add(0,new Object());
}
long begin = System.currentTimeMillis();
for (int i = 0; i < a; i++) {
list.remove(0);
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
} else {
LinkedList<Object> list = new LinkedList<>();
for (int i = 0; i < a; i++) {
list.add(0,new Object());
}
long begin = System.currentTimeMillis();
for (int i = 0; i < a; i++) {
list.removeFirst();
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
}
}
public static void removeMiddle(String s,int a){
if (s.equals("ArrayList")){
List<Object> list = new ArrayList<>();
for (int i = 0; i < a; i++) {
list.add(i);
}
long begin = System.currentTimeMillis();
while (list.size()>0){
list.remove(list.size()>>1);//右移/2,左移*2
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
} else {
LinkedList<Object> list = new LinkedList<>();
for (int i = 0; i < a; i++) {
list.add(i);
}
long begin = System.currentTimeMillis();
while (list.size()>0){
list.remove(list.size()>>1);//右移/2,左移*2
}
long end = System.currentTimeMillis();
System.out.println(a+" "+s+":"+(end - begin));
}
}
}
内容总结
以上是互联网集市为您收集整理的java--ArrayList,LinkedList应用比较全部内容,希望文章能够帮你解决java--ArrayList,LinkedList应用比较所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。