如果看完覺得對您有幫助到,麻煩關注一下,您的關注是我繼續更新的動力。謝謝!!
第一種:迭代器遍歷
for(Iterator<String> it = list.iterator(); it.hasNext(); ) {
....
}
....
}
這種方式在循環執行過程中會進行數據鎖定,性能稍差,同時如果你想在循環過程中去掉某個元素,只能調用it.remove方法,不能使用list.remove方法,否則一定出現並發訪問的錯誤。
第二種:增強for循環
for(String data : list) {
.....
}
.....
}
內部調用第一種,換湯不換葯,因此比Iterator慢,這種循環方式還有其他限制,不建議使用它
第三種:
for(int i=0; i<list.size(); i++) {
A a = list.get(i);
...
}
A a = list.get(i);
...
}
內部不鎖定, 效率最高, 但是當寫多線程時要考慮並發操作的問題。