package zhang.javase.Collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
/**
- Collection是java一个接口 ---->list接口:一个有序集合(也被称为序列)。此接口的用户在列表中的每个元素都被插入的地方有精确的控制。
- 用户可以通过它们的整数索引(在列表中的位置)访问元素,并在列表中搜索元素 ---->set接口:包含没有重复元素的集合。更正式地,集不包含对元素 e1和
- e2这样 e1.equals(e2), 最多一个空元素。正如它的名字所暗示的,这个接口模型的数学设置抽象。
- @作者:小章鱼
*/
public class TestCollection1 {
private static Collection coll;
public static void main(String[] args) {
Person person1 = new Person("章宇康", 18, 50.30, 125.00);
Person person2 = new Person("刘德华", 38, 66.50, 173.00);
Person person3 = new Person("周杰伦", 48, 30.60, 125.00);
Person person4 = new Person("王老吉", 23, 10.70, 155.00);
System.out.println(person1.equals(person2));
coll = new ArrayList();
coll.add(person1);
coll.add(person2);
coll.add(person3);
coll.add(person4);
//System.out.println(coll);
//迭代器第一种遍历集合的方法
// Iterator iterator = coll.iterator();
// for(int i=0;i<coll.size();i++){
// System.out.println(iterator.next());
// }
//第二种遍历集合的方法
// Iterator iterator = coll.iterator();
// while(iterator.hasNext()){
// Person obj=(Person) iterator.next();
// System.out.println(“姓名:”+obj.getName() +"\t"+“年龄:”+obj.getAge()+"\t"+“height:”+obj.getHeight()+"\t"+“weight:”+obj.getWeight());
// }
//使用增强for循环来遍历集合
for(Object p:coll){
System.out.println§;
}
}
// @Test
// public void test1() {
// /**
// * add(Object obj):向集合中添加元素
// */
// Collection coll = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// coll.add(new Date());
// System.out.println(coll);
//
// }
// @Test
// public void test2() {
// /**
// * addAll(Collection<? extends E> c) 将指定集合中的所有元素添加到这个集合(可选操作)。
// */
// Collection coll = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// coll.add(new Date());
//
// Collection coll1 = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// coll.add(new Date());
//
// coll.addAll(coll1);
// System.out.println(coll);
// }
// @Test
// public void test3() {
// /**
// * clear() 从这个集合中移除所有的元素(可选操作)。
// */
// Collection coll = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// coll.add(new Date());
// coll.clear();
// System.out.println(coll);
//
// }
// @Test
// public void test4() {
// /**
// * contains(Object o) 返回 true如果集合包含指定元素。
// */
// Collection coll = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// coll.add(new Date());
// System.out.println(coll.contains("zhangyukang"));
//
// }
// @Test
// public void test5() {
// /**
// * containsAll(Collection<?> c) 返回 true如果这个集合包含指定集合的所有元素。
// */
// Collection coll = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// coll.add(new Date());
//
// Collection coll1 = new ArrayList();
// coll1.add("zhangyukang");
// coll1.add(new Date());
//
// System.out.println(coll.containsAll(coll1));
// }
//
// @Test
// public void test6() {
// /**
// * equals(Object o) 将指定的对象与此集合进行比较,以进行相等性。
// */
// Collection coll = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// coll.add(new Date());
//
// Collection coll1 = new ArrayList();
// coll1.add("zhangyukang");
// coll1.add(new Date());
// System.out.println(coll.equals(coll1));
// }
// @Test
// public void test7() {
// /**
// * hashCode() 返回此集合的哈希代码值。
// */
// Collection coll = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// coll.add(new Date());
// System.out.println(coll.hashCode());
// }
// @Test
// public void test8() {
// /**
// * isEmpty() 返回 true如果集合不包含任何元素。
// */
// Collection coll = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// System.out.println(coll.isEmpty());
// }
// @Test
// public void test9() {
// /**
// * remove(Object o) 从这个集合中移除指定元素的一个实例,如果它是存在的(可选操作)。
// */
// Collection coll = new ArrayList();
// coll.add("zhangyukang");
// coll.add(12323);
// coll.remove(12323);
// System.out.println(coll);
// }
// public void test10() {
// /**
// * removeAll(Collection<?> c) 删除此集合中包含的所有元素(可选操作)的所有元素(可选操作)。
// */
Collection coll = new ArrayList();
coll.add("zhangyukang");
coll.add(12323);
Collection coll1 = new ArrayList();
coll1.add("zhangyukang");
coll.removeAll(coll1);
System.out.println(coll);
// System.out.println("zhangyukang");
//
// }
}
package zhang.javase.Collection;
public class Person {
private String name;
private int age;
private double weight;
private double height;
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 double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public Person(String name, int age, double weight, double height) {
super();
this.name = name;
this.age = age;
this.weight = weight;
this.height = height;
}
@Override
public String toString() {
return “Person [name=” + name + “, age=” + age + “, weight=” + weight + “, height=” + height + “]”;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
long temp;
temp = Double.doubleToLongBits(height);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result + ((name == null) ? 0 : name.hashCode());
temp = Double.doubleToLongBits(weight);
result = prime * result + (int) (temp ^ (temp >>> 32));
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (age != other.age)
return false;
if (Double.doubleToLongBits(height) != Double.doubleToLongBits(other.height))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (Double.doubleToLongBits(weight) != Double.doubleToLongBits(other.weight))
return false;
return true;
}
}