import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;publicclassdemo2{publicstaticvoidmain(String[] args){//創建集合對象Collection<String> c =newArrayList<String>();//添加元素c.add("hello");c.add("world");c.add("java");//Iterator<E> iterator():返回此集合中元素的迭代器,通過集合的iterator()方法得到Iterator<String> it = c.iterator();//用while循環改進元素的判斷和獲取while(it.hasNext()){String s = it.next();System.out.println(s);}}}
import java.util.ArrayList;import java.util.Iterator;import java.util.List;publicclasstest2{publicstaticvoidmain(String[] args){//創建集合對象List<String> list =newArrayList<String>();//添加元素list.add("hello");list.add("world");list.add("java");//遍歷集合,得到每一個元素,看有沒有"world"這個元素,如果有,我就添加一 個"javaee"元素,請寫代碼實現/*Iterator<String> it = list.iterator();while(it.hasNext()){String s = it.next();if(s.equals("world")){list.add("javaee");}}
*/for(int i =0; i < list.size(); i++){String s = list.get(i);if(s.equals("world")){list.add("javaee");}}System.out.println(list);}}
import java.util.ArrayList;import java.util.List;import java.util.ListIterator;publicclasstest3{publicstaticvoidmain(String[] args){List<String> list =newArrayList<String>();list.add("hello");list.add("world");list.add("java");ListIterator<String> lit = list.listIterator();while(lit.hasNext()){String s = lit.next();if(s.equals("world")){lit.add("javaee");}}System.out.println(list);}}
2.6增強for循環
定義格式
for(元素數組類型 變量名 : 數組/集合對象名){循環體;}
代碼示例
import java.util.ArrayList;import java.util.List;publicclasstest4{publicstaticvoidmain(String[] args){int[] arr ={1,2,3,4,5};for(int i : arr){System.out.println(i);}System.out.println("-------");String[] strArray ={"hello","world","java"};for(String s : strArray){System.out.println(s);}System.out.println("-------");List<String> list =newArrayList<>();list.add("hello");list.add("world");list.add("javaee");for(String s : list){System.out.println(s);}System.out.println("------");/*//內部原理為一個Iterator迭代器for(String s : list){if(s.equals("world")){list.add("javaee"); //ConcurrentModificationException}}*/}}
2.7集合的案例-List集合存儲學生對象三種方式遍歷
案例需求 創建一個存儲學生對象的集合,存儲3個學生對象,使用程序實現在控制臺遍歷該集合
代碼實現
import java.util.ArrayList;import java.util.Iterator;import java.util.List;publicclasstest{publicstaticvoidmain(String[] args){List<Student> list =newArrayList<Student>();//新建學生對象Student s1 =newStudent("林青霞",30);Student s2 =newStudent("張柏芝",33);Student s3 =newStudent("張曼玉",33);//添加學生對象list.add(s1);list.add(s2);list.add(s3);//遍歷學生對象//迭代器Iterator<Student> it = list.iterator();while(it.hasNext()){Student s = it.next();System.out.println(s.getName()+","+ s.getAge());}System.out.println("-------");//for循環for(int i =0; i < list.size(); i++){Student s = list.get(i);System.out.println(s.getName()+","+ s.getAge());}System.out.println("-------");//增強for循環for(Student ss :list){System.out.println(ss.getName()+","+ ss.getAge());}}}
3.數據結構
3.1數據結構之棧和隊列
棧結構 先進后出
隊列結構 先進先出
3.2數據結構之數組和鏈表
數組結構 查詢快、增刪慢
隊列結構 查詢慢、增刪快
4.List集合的實現類
4.1List集合子類的特點
ArrayList集合 底層是數組結構實現,查詢快、增刪慢
LinkedList集合 底層是鏈表結構實現,查詢慢、增刪快
4.2集合的案例-ArrayList集合存儲學生對象三種方式遍歷
案例需求 創建一個存儲學生對象的集合,存儲3個學生對象,使用程序實現在控制臺遍歷該集合
代碼實現
//學生類publicclassStudent{private String name;privateint age;publicStudent(){}publicStudent(String name,int age){this.name = name;this.age = age;}public String getName(){return name;}publicvoidsetName(String name){this.name = name;}publicintgetAge(){return age;}publicvoidsetAge(int age){this.age = age;}}//測試類import java.util.ArrayList;import java.util.Iterator;publicclasstest{publicstaticvoidmain(String[] args){//創建ArrayList集合對象ArrayList<Student> array =newArrayList<>();//創建學生對象Student s1 =newStudent("林青霞",30);Student s2 =newStudent("張曼玉",30);Student s3 =newStudent("林青霞",30);//把學生添加到集合array.add(s1);array.add(s2);array.add(s3);//迭代器:集合特有的遍歷方式Iterator<Student> it = array.iterator();while(it.hasNext()){Student s = it.next();System.out.println(s.getName()+","+ s.getAge());}System.out.println("-------");//forfor(int i =0; i < array.size(); i++){Student s = array.get(i);System.out.println(s.getName()+","+ s.getAge());}System.out.println("---------");//增強forfor(Student s : array){System.out.println(s.getName()+","+ s.getAge());}}}