(1):使用聚合操作
在jdk 8和更高版本中,迭代集合可以通過獲取流並對其執行聚合操作。聚合操作通常與lambda表示式結合使用,使程式設計更具表現力,使用較少的**行。以下**順序遍歷一組形狀並列印出紅色物件:
myshapescollection.stream()
.filter(e - > e.getcolor()== color.red)
.foreach(e - > system.out.println(e.getname()));
使用此api處理資料有許多不同的方法。例如,您可能需要將a的元素轉換collection為string物件,並用逗號分隔:
string joined = elements.stream()
.map(object :: tostring)
.collect(collectors.joining(「,」));
也可以總結所有員工的工資:
int total = employees.stream()
.collect(collectors.summingint(employee :: getsalary)));
效能方面在有並行操作的情況下,stream效率是更高的。但在比較簡單的迭代中stream效率是沒什麼優勢的。
總而言之stream充分利用了lambda表示式,增強了集合操作,**很簡潔優雅,絕對值得一用。
(2)foreach
這種迭代方式比較簡單,相信大家都知道。這裡就不贅述了。
(3)iterator
迭代器也是常用的迭代方法之一。具體使用方法如下:
iterator iterlist= list.iterator();//list介面實現了iterable介面
while(iterlist.hasnext())
迭代器是一種模式,它可以使得對於序列型別的資料結構的遍歷行為與被遍歷的物件分離,即我們無需關心該序列的底層結構是什麼樣子的。只要拿到這個物件,使用迭代器就可以遍歷這個物件的內部.
List集合三種遍歷方法
listlist new arraylist list.add aaa list.add bbb list.add ccc 方法一 超級for迴圈遍歷 for string attribute list 方法二 對於arraylist來說速度比較快,用for迴圈,以size為條件遍歷 for int...
集合遍歷的三種方法
集合的三種遍歷方式 1 for 迴圈遍歷,只適合list集合 for int i 0 i list.size i object obj list.get i system.out.println obj 2 for each 迴圈遍歷,jdk1.5以上使用,只能夠從頭到尾遍歷 for object ...
Java中遍歷Set集合的三種方法
1.迭代遍歷 set set new hashset iterator it set.iterator while it.hasnext 2.for迴圈遍歷 for string str set 優點還體現在泛型 假如 set中存放的是object set set new hashset for迴圈...