1
- # List遍历性能比较
2
-
3
- List遍历性能比较,看看各种方式遍历的性能差别。
4
-
1
+ # ArrayList与LinkedList遍历性能比较
5
2
3
+ 用实例测试ArrayList与LinkedList遍历性能。
6
4
7
5
## 结构差别:
8
6
9
- 我们常用的List有两种,ArrayList和LinkedList,但由于内部存储结构的不同,使用不同的遍历方法引起的效果则是千差万别的 。
7
+ 我们常用的List有两种,ArrayList和LinkedList,虽然两者都是LIst, 但由于内部存储结构的不同,使用不同的遍历方法性能却是千差万别的 。
10
8
11
9
| List | 存储结构 | 特点 |
12
10
| ---------- | ---- | --------------------- |
@@ -17,7 +15,7 @@ List遍历性能比较,看看各种方式遍历的性能差别。
17
15
18
16
## 常见做法:
19
17
20
- 我们在遍历List的时候可能会这样做:
18
+ 我们在遍历List的时候可能会这样做(从C语言上带来的习惯) :
21
19
22
20
``` java
23
21
public void loopList(List<Integer > lists) {
@@ -78,7 +76,7 @@ com.gcssloop.alltest I/Time: For-LinkedList:648ms
78
76
79
77
## 处理办法:
80
78
81
- 我们在Java中有 迭代器(Iterator) 以及 For each循环,可以它们来替代掉这个原始的for循环 。
79
+ 我们在Java中有 迭代器(Iterator) 以及 ForEach 循环,可以用它们来替代掉这个原始的 for 循环 。
82
80
83
81
### 迭代器(Iterator):
84
82
@@ -122,15 +120,15 @@ com.gcssloop.alltest I/Time: ForEach-ArrayList: 5ms
122
120
com.gcssloop.alltest I/Time: ForEach-LinkedList:5ms
123
121
```
124
122
125
- 由于ForEach循环底层使用的也是迭代器 ,所以和迭代器性能类似。
123
+ 由于 ForEach 循环底层使用的也是迭代器 ,所以和迭代器性能类似。
126
124
127
125
128
126
129
127
## 总结:
130
128
131
- ### 性能比较:
129
+ ** 推荐使用 迭代器(Iterator) 和 ForEach 遍历 List,不要使用传统的 For 循环。 **
132
130
133
- 测试处理10000条数据性能 :
131
+ 以下是测试处理10000条数据性能 :
134
132
135
133
> 数值仅供参考,与运行环境相关,每次测试结果都可能稍有差别。
136
134
@@ -142,7 +140,9 @@ com.gcssloop.alltest I/Time: ForEach-LinkedList:5ms
142
140
143
141
144
142
145
- ** 推荐使用迭代器(Iterator)和ForEach遍历List,不要使用传统的For循环。**
146
143
144
+ ## About Me
147
145
146
+ ### 作者微博: <a href =" http://weibo.com/GcsSloop " target =" _blank " >@GcsSloop </a >
148
147
148
+ <a href =" http://www.gcssloop.com/info/about " target =" _blank " ><img src =" http://ww4.sinaimg.cn/large/005Xtdi2gw1f1qn89ihu3j315o0dwwjc.jpg " width =" 300 " style =" display :inline ;" /></a >
0 commit comments