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 arra;//声明全局变量arra

    public static void main(String[] args) {
        ArrayList array = new ArrayList();
        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 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 arr =new ArrayList();//创建数组
          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 ;iout.println(arr.get(i));                           //遍历五
            } 

            ListIterator 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 list2 = arr.listIterator();//获得迭代器    
               for(list2.hasNext();;){                                 //遍历八
                   System.out.println(list2.next());                
                    if (!list2.hasNext()){
                        break;
                  }
               } 
            ListIterator list1 = arr.listIterator();//获得迭代器
            while(list1.hasNext()){
                System.out.println(list1.next());                    //遍历八  
            }  

    }}

你可能感兴趣的:(JAVA迭代器与ArrayList集合的使用)