List 是针对特定类型、任意长度的。
Array 是针对任意类型、固定长度的。
ArrayList 是针对任意类型、任意长度的。
Array 和 ArrayList 是通过存储 object 实现任意类型的,所以使用时要转换。
package com.endless
import java.util.ArrayList
import java.util.Collections
import java.util.ListIterator
public class List {
static ArrayList<Integer> 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;
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));
}
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());
}
}}