import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
public class LinkedListTest {
public static void main(String[] args) {
// LinkedListMethod();
//ArrayListMethod();
ArrayListMethod_2();
}
/*
* 存入自定义对象,拿到取出相同元素的集合
* 重要的是equals方法
* List集合的contains和remove(obj)方法
* 底层都是调用的equals
*/
public static void ArrayListMethod_2() {
ArrayList al = new ArrayList();
al.add(new Person1("xiaoming",22));
al.add(new Person1("xiaoli",10));
al.add(new Person1("xiaoli",10));
al.add(new Person1("xiaoliu",12));
for(Iterator it = al.iterator();it.hasNext();) {
Person1 p1 = (Person1)it.next();
System.out.println(p1.name + ".." + p1.age);
}
System.out.println("------------");
al = LinkedListTest.singleElement(al);
for(Iterator it = al.iterator();it.hasNext();) {
Person1 p1 = (Person1)it.next();
System.out.println(p1.name + ".." + p1.age);
}
}
/*
* ArrayList练习,拿到去除相同元素的容器
*/
public static void ArrayListMethod() {
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java01");
al.add("java02");
al.add("java01");
al.add("java03");
System.out.println(al);
al = singleElement(al);
System.out.println(al);
}
/*
* 返回去相同元素后集合的方法
*/
public static ArrayList singleElement(ArrayList al) {
ArrayList newAl = new ArrayList();
for (Iterator it = al.iterator(); it.hasNext();) {
Object o = it.next();
if (!newAl.contains(o)) {
newAl.add(o);
}
}
return newAl;
}
/*
* LinkedList模仿队列
*/
public static void LinkedListMethod() {
DuiLie dl = new DuiLie();
dl.add("java01");
dl.add("java02");
dl.add("java03");
dl.add("java04");
while (!dl.isNull()) {
System.out.println(dl.get());
}
}
}
/*
* 被模仿的队列类
*/
class DuiLie {
private LinkedList list;
DuiLie() {
list = new LinkedList();
}
public void add(Object o) {
list.addFirst(o);
}
public Object get() {
return list.removeFirst();
}
public boolean isNull() {
return list.isEmpty();
}
}
class Person1 {
String name;
int age;
Person1(String name, int gae) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object obj) {
if(!(obj instanceof Person1)) {
return false;
}
Person1 p1 = (Person1)obj;
return name.equals(p1.name) && age==p1.age;
}
}
java List集合练习(自己用)
最新推荐文章于 2024-08-06 15:44:25 发布