ArrayList 集合的幾種遍歷的方法


ArrayList 集合  也可稱作動態數組(長度可變),在新建的時候是沒有默認長度的,在新增數據長度小於10的時候,ArrayList 的長度會自動設置為10

 //了解更多可以按住Ctrl 再點擊你需要查看的方法或者類名,  查看List源代碼,ArrayList源代碼

public static void main(String[] args) throws Exception {
  Arraylist    新增數據時長度是10   當長度為10的時候 增長是如何增長的?
  增長因子數位0.5倍,向下取整數。
  ArrayList arr= new ArrayList();
  arr.add("a");//給集合賦值
  arr.add("b");
  arr.add("c");
  arr.add("d");
  arr.add("e");
  System.out.println(arr.size());    //ArrayList 集合可以有重復對象
  System.out.println("-------下標輸出方式");
  //下標輸出方式
  for(int i=0;i<arr.size();i++) {
   System.out.println(arr.get(i));
  }
  System.out.println("-------foreach輸出(jdk>1.5)");
  //foreach輸出(jdk>=1.5)
  for(Object o:arr) {
   System.out.println(o);
  }
  System.out.println("-------jdk1.8的語法糖");
  //jdk1.8語法糖
  arr.forEach(x->System.out.println(x));
  System.out.println("-------jdk1.8的迭代器");
  //迭代器
  Iterator it=arr.iterator();
  while(it.hasNext()) {
   System.out.println(it.next());
  }
  
  ArrayList arr= new ArrayList();
  for(int i=0;i<20;i++) {
   print(arr);
   arr.add(i);
  }

//反向輸出必須是先正向輸出再反向輸出。否則只會有正向沒有反向輸出
  ArrayList arr= new ArrayList(5);
  arr.add("a");
  arr.add("b");
  arr.add("c");
  arr.add("d");
  arr.add("e");
  ListIterator list=arr.listIterator();
  System.out.println("----------------下");
  while(list.hasNext()) {
   System.out.println(list.next());
  }
  System.out.println("----------------上");
  while(list.hasPrevious()) {
   System.out.println(list.previous());
  }
  
  //棧  可以比喻成一個車廂  最大的容量  3M
  //堆  可以比喻成一個火車  將內存中的零散的空間組成的一張鏈式表格
  //實現自定義的棧  mystack


 }

 //使用反射查看屬性
 static void print(ArrayList   arraylist) throws Exception {
  Class c=arraylist.getClass();
  Field  elementData = c.getDeclaredField("elementData");
  elementData.setAccessible(true);
  Object[] objects=(Object[]) elementData.get(arraylist);
  System.out.println(objects.length);
 }

 

 

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM