金沙国际app-金沙国际手机app下载

金沙国际app包括教育和科研机构建设、学科共建等,欢迎来到金沙国际手机app下载这里有多种线上娱乐游戏,金沙国际app获颁“创意中国榜”中国文化创意产业领军企业,是一家专业从事网络休闲平台游戏开发、运营的服务性企业。

当前位置:金沙国际app > 网络世界 > Java基础——ArrayList与LinkedList(二)

Java基础——ArrayList与LinkedList(二)

文章作者:网络世界 上传时间:2019-10-11

Java基础——ArrayList与LinkedList(二),arraylistlinkedlist

今天练习ArrayList与LinkedList,在网上看到有关它俩应用效率的题型。觉得很有价值,保留一下。

 1 import java.util.ArrayList;
 2 import java.util.LinkedList;
 3 import java.util.List;
 4 
 5 public class CollT5 {
 6     static final int N = 50000;
 7 
 8     static long timeList(List<Object> list) {
 9 
10         long start = System.currentTimeMillis();
11         
12         Object o = new Object();
13         for (int i = 0; i < N; i++)
14             list.add(0, o);
15         return System.currentTimeMillis() - start;
16     }
17 
18     public static void main(String[] args) {
19         System.out.println("ArrayList耗时:" + timeList(new ArrayList<Object>()));
20         System.out.println("LinkedList耗时:" + timeList(new LinkedList<Object>()));
21     }
22 }

图片 1

 1 import java.util.ArrayList;
 2 import java.util.Collections;
 3 import java.util.LinkedList;
 4 import java.util.List;
 5 
 6 public class CollT6 {
 7     static List<Integer> array = new ArrayList<Integer>();
 8     static List<Integer> linked = new LinkedList<Integer>();
 9 
10     public static void main(String[] args) {
11 
12         for (int i = 0; i < 10000; i++) {
13             array.add(i);
14             linked.add(i);
15         }
16         System.out.println("array time:" + getTime(array));
17         System.out.println("linked time:" + getTime(linked));
18         System.out.println("array insert time:" + insertTime(array));
19         System.out.println("linked insert time:" + insertTime(linked));
20 
21     }
22 
23     public static long getTime(@SuppressWarnings("rawtypes") List list) {
24         long time = System.currentTimeMillis();
25         for (int i = 0; i < 10000; i++) {
26             @SuppressWarnings("unchecked")
27             int index = Collections.binarySearch(list, list.get(i));
28             if (index != i) {
29                 System.out.println("ERROR!");
30             }
31         }
32         return System.currentTimeMillis() - time;
33     }
34 
35     @SuppressWarnings("unchecked")
36     public static long insertTime(@SuppressWarnings("rawtypes") List list) {
37         long time = System.currentTimeMillis();
38         for (int i = 100; i < 10000; i++) {
39             list.add(5000, i);
40         }
41         return System.currentTimeMillis() - time;
42 
43     }
44 
45 }

图片 2

附加:

遇到java类型后面跟三个点是代表的情况了,就补充一下:

 1 //java类型后面跟三个点是代表可以接受多个实际参数,这里的多个指的是不限个数,可以是一个、两个、三个甚至更多。
 2 //java中类型后面加三个点是java1.5之后出现的新的内容.
 3 //使用在函数的形参上,相当于一个数组,调用函数时传递多少了实际参数,都可以存储到这个形参上.
 4 //需要注意的是,使用这个形参必须放在最后一位形参位置上,否则会报错!
 5 //即,可变数组参数。用...的话,传参数时可传可不传,传的话,可以是一个个并列地传,也可以直接是一个数组。
 6 //在方法里取时,s是一个数组,如果调用时什么都没有传,那么s的长度就是0。传的时候传了几个,s的长度就是几。
 7 public class CollT4 {
 8     public static void main(String[] args) {
 9         printString();
10         System.out.println("==========");
11         printString(new String[] { "我", "和", "你" });
12         System.out.println("==========");
13         printString("我", "和", "你");
14     }
15 
16     public static void printString(String... str) {
17         if (str.length == 0) {
18             System.out.println("没有传参数。");
19         }
20         for (int i = 0; i < str.length; i++) {
21             System.out.println(str[i]);
22         }
23     }
24 }

图片 3

相关参考链接:

http://pengcqu.iteye.com/blog/502676

http://www.bkjia.com/Javabc/1216732.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javabc/1216732.htmlTechArticleJava基础——ArrayList与LinkedList(二),arraylistlinkedlist 今天练习ArrayList与LinkedList,在网上看到有关它俩应用效率的题型。觉得很有价值,保...

 1 import java.util.ArrayList;
 2 import java.util.Collections;
 3 import java.util.LinkedList;
 4 import java.util.List;
 5 
 6 public class CollT6 {
 7     static List<Integer> array = new ArrayList<Integer>();
 8     static List<Integer> linked = new LinkedList<Integer>();
 9 
10     public static void main(String[] args) {
11 
12         for (int i = 0; i < 10000; i++) {
13             array.add(i);
14             linked.add(i);
15         }
16         System.out.println("array time:" + getTime(array));
17         System.out.println("linked time:" + getTime(linked));
18         System.out.println("array insert time:" + insertTime(array));
19         System.out.println("linked insert time:" + insertTime(linked));
20 
21     }
22 
23     public static long getTime(@SuppressWarnings("rawtypes") List list) {
24         long time = System.currentTimeMillis();
25         for (int i = 0; i < 10000; i++) {
26             @SuppressWarnings("unchecked")
27             int index = Collections.binarySearch(list, list.get(i));
28             if (index != i) {
29                 System.out.println("ERROR!");
30             }
31         }
32         return System.currentTimeMillis() - time;
33     }
34 
35     @SuppressWarnings("unchecked")
36     public static long insertTime(@SuppressWarnings("rawtypes") List list) {
37         long time = System.currentTimeMillis();
38         for (int i = 100; i < 10000; i++) {
39             list.add(5000, i);
40         }
41         return System.currentTimeMillis() - time;
42 
43     }
44 
45 }

图片 4

http://pengcqu.iteye.com/blog/502676

附加:

相关参考链接:

 1 import java.util.ArrayList;
 2 import java.util.LinkedList;
 3 import java.util.List;
 4 
 5 public class CollT5 {
 6     static final int N = 50000;
 7 
 8     static long timeList(List<Object> list) {
 9 
10         long start = System.currentTimeMillis();
11         
12         Object o = new Object();
13         for (int i = 0; i < N; i++)
14             list.add(0, o);
15         return System.currentTimeMillis() - start;
16     }
17 
18     public static void main(String[] args) {
19         System.out.println("ArrayList耗时:" + timeList(new ArrayList<Object>()));
20         System.out.println("LinkedList耗时:" + timeList(new LinkedList<Object>()));
21     }
22 }

本文由金沙国际app发布于网络世界,转载请注明出处:Java基础——ArrayList与LinkedList(二)

关键词: