CollectionDome01
packagecom.itheima._01Collection集合的遍歷方式;
?
importjava.util.ArrayList;
importjava.util.Collection;
importjava.util.Iterator;
?
/**
目標(biāo):Collection集合的遍歷方式识虚。
?
什么是遍歷? 為什么開發(fā)中要遍歷?
遍歷就是一個(gè)一個(gè)的把容器中的元素訪問(wèn)一遍蛤织。
開發(fā)中經(jīng)常要統(tǒng)計(jì)元素的總和艺挪,找最值不翩,找出某個(gè)數(shù)據(jù)然后干掉等等業(yè)務(wù)都需要遍歷。
?
Collection集合的遍歷方式是全部集合都可以直接使用的,所以我們學(xué)習(xí)它口蝠。
Collection集合的遍歷方式有三種:
(1)迭代器器钟。
(2)foreach(增強(qiáng)for循環(huán))。
(3)JDK 1.8開始之后的新技術(shù)Lambda表達(dá)式(了解)
?
a.迭代器遍歷集合妙蔗。
-- 方法:
public Iterator iterator(): 獲取集合對(duì)應(yīng)的迭代器俱箱,用來(lái)遍歷集合中的元素的
E next():獲取下一個(gè)元素值!
boolean hasNext():判斷是否有下一個(gè)元素灭必,有返回true ,反之狞谱。
--流程:
1.先獲取當(dāng)前集合的迭代器
Iterator<String> it = lists.iterator();
2.定義一個(gè)while循環(huán),問(wèn)一次取一次禁漓。
通過(guò)it.hasNext()詢問(wèn)是否有下一個(gè)元素跟衅,有就通過(guò)
it.next()取出下一個(gè)元素。
小結(jié):
記撞ゼ摺伶跷!
*/
publicclassCollectionDemo01{
publicstaticvoidmain(String[]args) {
Collection<String>lists=newArrayList<>();
lists.add("趙敏");
lists.add("小昭");
lists.add("殷素素");
lists.add("周芷若");
System.out.println(lists);
// lists = [趙敏, 小昭, 殷素素, 周芷若]
// ? it
?
// 1.得到集合的迭代器對(duì)象。
Iterator<String>it=lists.iterator();
// ? ? ?? System.out.println(it.next());
// ? ? ?? System.out.println(it.next());
// ? ? ?? System.out.println(it.next());
// ? ? ?? System.out.println(it.next());
// ? ? ?? System.out.println(it.next()); // 出現(xiàn)異常NoSuchElementException秘狞,出現(xiàn)沒(méi)有此元素異常叭莫!
?
// 2.使用while循環(huán)遍歷。
while(it.hasNext()){
Stringele=it.next();
System.out.println(ele);
? ? ?? }
?
?? }
}
CollectionDome02
packagecom.itheima._01Collection集合的遍歷方式;
importjava.util.ArrayList;
importjava.util.Collection;
/**
目標(biāo):Collection集合的遍歷方式烁试。
?
什么是遍歷? 為什么開發(fā)中要遍歷雇初?
遍歷就是一個(gè)一個(gè)的把容器中的元素訪問(wèn)一遍。
開發(fā)中經(jīng)常要統(tǒng)計(jì)元素的總和减响,找最值靖诗,找出某個(gè)數(shù)據(jù)然后干掉等等業(yè)務(wù)都需要遍歷。
?
Collection集合的遍歷方式是全部集合都可以直接使用的支示,所以我們學(xué)習(xí)它刊橘。
Collection集合的遍歷方式有三種:
(1)迭代器。
(2)foreach(增強(qiáng)for循環(huán))颂鸿。
(3)JDK 1.8開始之后的新技術(shù)Lambda表達(dá)式促绵。
?
b.foreach(增強(qiáng)for循環(huán))遍歷集合。
foreach是一種遍歷形式嘴纺,可以遍歷集合或者數(shù)組败晴。
foreach遍歷集合實(shí)際上是迭代器遍歷的簡(jiǎn)化寫法。
foreach遍歷的關(guān)鍵是記住格式:
for(被遍歷集合或者數(shù)組中元素的類型 變量名稱 : 被遍歷集合或者數(shù)組){
?
}
小結(jié):
foreach遍歷集合或者數(shù)組很方便颖医。
缺點(diǎn):foreach遍歷無(wú)法知道遍歷到了哪個(gè)元素了位衩,因?yàn)闆](méi)有索引。
?
*/
publicclassCollectionDemo02{
publicstaticvoidmain(String[]args) {
Collection<String>lists=newArrayList<>();
lists.add("趙敏");
lists.add("小昭");
lists.add("殷素素");
lists.add("周芷若");
System.out.println(lists);
// lists = [趙敏, 小昭, 殷素素, 周芷若]
//? ele
for(Stringele:lists) {
System.out.println(ele);
? ? ?? }
?
?
int[]ages=newint[]{17,18,38,21};
for(intage:ages) {
System.out.println(age);
? ? ?? }
?? }
}
CollectionDome03
packagecom.itheima._01Collection集合的遍歷方式;
?
importjava.util.ArrayList;
importjava.util.Collection;
?
/**
目標(biāo):Collection集合的遍歷方式熔萧。
?
什么是遍歷? 為什么開發(fā)中要遍歷糖驴?
遍歷就是一個(gè)一個(gè)的把容器中的元素訪問(wèn)一遍僚祷。
開發(fā)中經(jīng)常要統(tǒng)計(jì)元素的總和,找最值贮缕,找出某個(gè)數(shù)據(jù)然后干掉等等業(yè)務(wù)都需要遍歷辙谜。
?
Collection集合的遍歷方式是全部集合都可以直接使用的,所以我們學(xué)習(xí)它感昼。
Collection集合的遍歷方式有三種:
(1)迭代器装哆。
(2)foreach(增強(qiáng)for循環(huán))。
(3)JDK 1.8開始之后的新技術(shù)Lambda表達(dá)式定嗓。
c.JDK 1.8開始之后的新技術(shù)Lambda表達(dá)式蜕琴。(暫時(shí)了解)
*/
publicclassCollectionDemo03{
publicstaticvoidmain(String[]args) {
Collection<String>lists=newArrayList<>();
lists.add("趙敏");
lists.add("小昭");
lists.add("殷素素");
lists.add("周芷若");
System.out.println(lists);
// ? [趙敏, 小昭, 殷素素, 周芷若]
// ? s
lists.forEach(s->{
System.out.println(s);
? ? ?? });
// ? ?? lists.forEach(s ->? System.out.println(s));
// ? ?? lists.forEach(System.out::println);
?
?
?? }
}