集合框架 ArrayList(2)
1.ArrayList和List
ArrayList实现了接口List
常见的写法会把引用声明为接口List类型
因为ArrayList实现了List接口,所以List接口的方法ArrayList都实现了。
注意:是java.util.List,而不是java.awt.List
package ArrayLists;
import java.util.ArrayList;
import java.util.List;
public class code03 {
public static void main(String args[]){
List list= new ArrayList();
list.add("你好 java");
System.out.println(list);
}
}
2.泛型 Generic
不指定泛型的容器,可以存放任何类型的元素
指定了泛型的容器,只能存放指定类型的元素以及其子类
code
package ArrayLists;
import java.util.ArrayList;
import java.util.List;
public class code03 {
public static void main(String args[]){
List<String> list= new ArrayList<>();//只能放String类型的数据
list.add("你好 java");
list.add(123);//语句会报错 不能添加int类型的数据
System.out.println(list);
}
}
3.遍历
三种遍历方式
for循环遍历
迭代器遍历
增强型for循环
迭代器介绍
package ArrayLists;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class code03 {
public static void main(String args[]) {
List<String> list = new ArrayList<>();//只能放String类型的数据
for (int i = 1; i <= 5; i++)
list.add("java-" + i);
//for循环遍历
for (int i = 0; i < list.size(); i++)
System.out.print(list.get(i) + " ");
System.out.println();
//迭代器遍历
Iterator<String> iterator = list.iterator();//迭代器对象
while (iterator.hasNext()) { //指针往下移动
System.out.print(iterator.next() + " "); //iterator.next()取出指向指向的下一个元素
}
System.out.println();
//增加型for循环
for (String s : list)
System.out.print(s+" ");
}
}