JAVA迭代器與ArrayList集合的使用

List 是針對特定類型、任意長度的。

Array 是針對任意類型、固定長度的。

ArrayList 是針對任意類型、任意長度的。

Array 和 ArrayList 是通過存儲 object 實現任意類型的,所以使用時要轉換。

package com.endless;

import java.util.ArrayList;
import java.util.Collections;
import java.util.ListIterator;
/**
*@2017年8月28日@下午7:41:27
*@Endless
*/
public class List {

    static ArrayList<Integer> arra;//聲明全局變量arra

    public static void main(String[] args) {
        ArrayList<Integer> array = new ArrayList<Integer>();
        arra = array;
        Collections.addAll(array, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        System.out.println("最初的集合array" + array);
        System.out.println("轉化爲全局變量的集合arra" + arra);
        System.out.println("獲取前兩個一個元素  " + array.get(0) + array.get(1));
        ListIterator<Integer> iter = array.listIterator();
        System.out.println("是否具有下一個元素  " + iter.hasNext());
        System.out.println("是否具有前一個元素  " + iter.hasPrevious());
        System.out.println("獲得集合下一個元素  " + iter.next());
        System.out.println("獲得集合前一個元素  " + iter.previous());
        System.out.println("獲得下一個元素的索引  " + iter.nextIndex());
        System.out.println("獲得前一個元素的索引  " + iter.previousIndex());
        System.out.println("向集合末尾追加元素11並返回是否成功  " + array.add(11) + "\n" + array);
        array.listIterator().add(12);
        System.out.println("向集合開頭插入元素12\n" + array);
        System.out.println("刪除一個元素並返回其內容:  " + array.remove(0) + "\n" + array);
        System.out.println("修改一個元素並返回未修改之前的內容:  " + array.set(0, 11) + "\n" + array);
        System.out.println(ass());
        System.out.println("arra與array使用同一塊內存 \n" + arra + "\n" + array);
        System.out.println("array長度\n" +array.size());
    }
    public static int ass() {
        arra.add(12);
        return arra.get(0);
    }
}

各種遍歷方式

import java.util.ArrayList;
import java.util.ListIterator;
import java.util.Random;

/**
*@2017年8月28日@下午7:41:27
*@Administrator
*@aaa.java
*/
public class aaa {
    public static void main(String[] args) throws InterruptedException {
          ArrayList<Integer> arr =new ArrayList<Integer>();//創建數組
          for(int i=1;i<=9;i++){    
           arr.add(new Random().nextInt(100));//爲數組添加九個0-99的隨機數
          }  
            System.out.println(arr);//打印所有元素
            System.out.println(arr.get(1));//獲取指定下標的中的元素

            arr.forEach(x->System.out.println(x));                      //遍歷一

            arr.iterator().forEachRemaining(x->System.out.println(x));  //遍歷二

            arr.listIterator().forEachRemaining(x->System.out.println(x));//遍歷三
            for(int xx:arr){
                System.out.println(xx);                                 //遍歷四
            }

            for(int i=0 ;i<arr.size();i++){
              System.out.println(arr.get(i));                           //遍歷五
            } 

            ListIterator<Integer> list = arr.listIterator();            //獲得迭代器       
            for(;list.hasNext();){
                 System.out.println(list.next());                       //遍歷六
            }    
            int x = 0;
            while (x < array.size()) {                                  //遍歷七
                System.out.println(array.get(x++ % array.size()));
            }
            ListIterator<Integer> list2 = arr.listIterator();//獲得迭代器    
               for(list2.hasNext();;){                                 //遍歷八
                   System.out.println(list2.next());                
                    if (!list2.hasNext()){
                        break;
                  }
               } 
            ListIterator<Integer> list1 = arr.listIterator();//獲得迭代器
            while(list1.hasNext()){
                System.out.println(list1.next());                    //遍歷八  
            }  

    }}
發佈了39 篇原創文章 · 獲贊 34 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章