ArrayList
范例:使用ArrayList实例化List接口
package com.lxh.eighteenchapter;
import java.util.ArrayList;
import java.util.List;
public class JavaCollectionDemo480 {
public static void main(String[] args) {
List<String> all=new ArrayList<String>();
all.add("java");
all.add("数据结构");
all.add("web");
System.out.println(all);
all.remove(0);
System.out.println(all);
String str=all.get(1);
System.out.println(str);
System.out.println( all.contains("web"));
for(String a:all) {
System.out.println(a);
}
}
}
执行结果
[java, 数据结构, web]
[数据结构, web]
web
true
数据结构
web
ArrayList保存自定义类对象
为了保证集合中的contains()与remove()两个方法的正确执行,所以必须保证类中已经正确覆写了equals()方法。
package com.lxh.eighteenchapter;
import java.util.ArrayList;
import java.util.List;
public class JavaCollectionDemo482 {
public static void main(String[] args) {
List<Message> all=new ArrayList<Message>();
all.add(new Message("张三",20));
all.add(new Message("李四",15));
all.add(new Message("王五",50));
all.add(new Message("赵六",36));
all.add(new Message("陆齐",40));
System.out.println(all.contains(new Message("赵六",36)));
System.out.println(all);
all.remove(0);
for(Message me:all) {
System.out.println(me);
}
}
}
class Message{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Message(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object obj) {
if(this==obj) {
return true;
}
if(obj==null) {
return false;
}
if(!(obj instanceof Message)) {
return false;
}
Message mes=(Message) obj;
return this.name.equals(mes.name)&&this.age==mes.age;
}
@Override
public String toString() {
return "Message [name=" + name + ", age=" + age + "]";
}
}
执行结果
true
[Message [name=张三, age=20], Message [name=李四, age=15], Message [name=王五, age=50], Message [name=赵六, age=36], Message [name=陆齐, age=40]]
Message [name=李四, age=15]
Message [name=王五, age=50]
Message [name=赵六, age=36]
Message [name=陆齐, age=40]