package com.ybh.Class;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo1_collection {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
@SuppressWarnings("rawtypes")
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");//给数组增加元素
System.out.println(c);//调用的是c.tostring方法
System.out.println("\n"+c.size());//c数组的大小
Iterator it = c.iterator();//使用迭代器
while(it.hasNext()){//指针指向索引为0的位置。判断是否有下一个数
System.out.println(it.next());
}
ArrayList a = (ArrayList)c;//向下转型,使用a调用ArrayList类独有的属性和方法
a.get(1);
System.out.println("\n"+a.get(1));
a.remove(1);
System.out.println("\n"+a);
}
}
package com.ybh.Class;
import java.util.ArrayList;
import java.util.Iterator;
@SuppressWarnings("rawtypes")
public class Demo2_list {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("a");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("c");
list.add("d");
list.add("d");
ArrayList newlist = getNew(list);
System.out.println(newlist);
System.out.println(list);
}
@SuppressWarnings("unchecked")
public static ArrayList getNew(ArrayList list){
ArrayList newlist = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()){
Object obj = it.next();
if(!newlist.contains(obj)){//判断新集合中是否包含obj的
newlist.add(obj);
}
}
return newlist;
}
}
package com.ybh.Class;
import java.util.ArrayList;
import java.util.Iterator;
import com.tzxy.Person_1;
@SuppressWarnings({ "unchecked", "rawtypes" })
public class Demo3_List {
public static void main(String[] args) {
ArrayList list = new ArrayList<>();
//需要修改person_1类的equal方法。
list.add(new Person_1("张三", 23));
list.add(new Person_1("张三", 23));
list.add(new Person_1("李四", 24));
list.add(new Person_1("李四", 24));
list.add(new Person_1("李四", 24));
ArrayList newlist = getNew(list);
System.out.println(newlist);
System.out.println(list);
}
public static ArrayList getNew(ArrayList list){
ArrayList newlist = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()){
Object obj = it.next();
if(!newlist.contains(obj)){//判断新集合中是否包含obj的
//contains是依赖于equal方法判断的。
newlist.add(obj);
}
}
return newlist;
}
}
package com.tzxy;
public class Person_1 {
private String name;
private int age;
@Override
public String toString() {
return "Person_1 [name=" + name + ", age=" + age + "]";
}
@Override
public boolean equals(Object obj) {
Person_1 p = (Person_1)obj;//将object类型向下转型为person_1类型
// TODO Auto-generated method stub
return this.name.equals(p.name)&&this.age==p.age;//修改equals方法
}
public Person_1(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Person_1() {
super();
// TODO Auto-generated constructor stub
}
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;
}
}