•List接口:线性表(linear list)
•主要的实现类是ArrayList、LinkedList,以及早期的Vector
•List接口
public interface List<E> extends Collection<E> {E get(intindex);
E set(intindex, E element);
void add(intindex, E element);
E remove(intindex);
intindexOf(Object o);
}
List是接口,ArrayList、LinkedList是类
例如:
import java.util.ArrayList;
public class Tset {
public static void main(String[] args) {
ArrayList <String> arlist = new ArrayList <String>(); //创建名为arlist的ArrayList类的实例对象,且类型为String
arlist.add("h"); //添加实例"h"
arlist.add("o"); 添加实例"o"
for(String a:arlist) { //遍历arlist
System.out.println(a); //输出
}
}
}
package PETPackage;
public abstract class Animal {
Animal(){}
void eat() {
System.out.println("吃!");
}
void move() {
System.out.println("移动!");
}
}
class Cat extends Animal{
Cat(){}
void eat() {
System.out.println("吃鱼!");
}
void move() {
System.out.println("跳!");
}
}
class Dog extends Animal{
Dog(){}
void eat() {
System.out.println("吃骨头!");
}
void move() {
System.out.println("跑!");
}
}
class Bird extends Animal{
Bird(){}
void eat() {
System.out.println("吃虫子!");
}
void move() {
System.out.println("飞!");
}
}
class Falcon extends Animal{
Falcon(){}
void eat() {
System.out.println("吃蛇!");
}
void move() {
System.out.println("飞很高!");
}
}
interface IPet {
void Play();
}
class PetDog extends Dog implements IPet {
String Name;
PetDog(String n){
setName(n);
}
@Override
public void Play() {
// TODO Auto-generated method stub
System.out.println("叼飞盘!");
}
void setName(String n) {
Name=n;
}
String getName() {
return Name;
}
}
class PetCat extends Cat implements IPet {
String Name;
PetCat(String n){
setName(n);
}
@Override
public void Play() {
// TODO Auto-generated method stub
System.out.println("撸猫猫!");
}
void setName(String n) {
Name=n;
}
String getName() {
return Name;
}
}
class PetRobot implements IPet {
String Name;
PetRobot(String n){
setName(n);
}
@Override
public void Play() {
// TODO Auto-generated method stub
System.out.println("编程玩吧!");
}
void setName(String n) {
Name=n;
}
String getName() {
return Name;
}
}
package PETPackage;
import java.util.ArrayList;
import java.util.List;
public class Stage {
public static void main(String[] args) {
List<Animal> animalList=new ArrayList<Animal>(); //创建名为animalList的列表,其类型为Animal
for(int i=0;i<3;i++) {
animalList.add(new Dog());
}
for(int i=0;i<2;i++) {
animalList.add(new Cat());
}
animalList.add(new Bird());
animalList.add(new Falcon());
PetDog pd=new PetDog("WOO");
PetCat pc=new PetCat("MOO");
PetRobot pr=new PetRobot("Alpha");
animalList.add(pd);
animalList.add(pc);
List<IPet> petlist=new ArrayList<IPet>();//创建名为petlist的列表,其类型为IPet
petlist.add(pd);
petlist.add(pc);
petlist.add(pr);
for(Animal a:animalList) { //遍历animalList
a.eat();
a.move();
}
for(IPet a:petlist) { //遍历petlist
a.Play();
}
}
}