Collection常用方法1
一、
package com.mjl;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
public class CollectionTest {
@Test
public void test() {
Collection coll = new ArrayList();
//add(Object):将元素e添加到集合coLl中
coll.add("AA");
coll.add("BB");
coll.add(123);
coll.add(new Date());
//size():获取添加的元素的个数
System.out.println(coll.size());//4
//addAll(Collection coll1):将coll1集合中的元素添加到当前的集合中
Collection coll1 = new ArrayList();
coll1.add(456);
coll1.add("CC");
coll.addAll(coll1);
System.out.println(coll.size());//6
System.out.println(coll);
//isEmpty():判断当前集合是否为空
System.out.println(coll.isEmpty());//false
//clear():清空集合元素。但是对象依然在,并不是吧coll赋值为null
coll.clear();
System.out.println(coll.isEmpty());//ture
}
}
结果
二、
(一)
Person类+CollectionTest类
package com.jh;
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = 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;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
package com.mjl;
import com.jh.Person;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
@Test
public void test() {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
Person p = new Person("Jerry", 20);
coll.add(p);
//contains(Object obj):判断当前集合中是否包含obj
boolean contains = coll.contains(123);
System.out.println(contains);//true
System.out.println(coll.contains(new String("Tom")));//true
System.out.println(coll.contains(p));//true
}
结果
(二)
System.out.println(coll.contains§);
改为
System.out.println(coll.contains(new Person(“Jerry”, 20)));
Person类同上
package com.mjl;
import com.jh.Person;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
@Test
public void test() {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
coll.add(new Person("Jerry", 20));
//contains(Object obj):判断当前集合中是否包含obj
boolean contains = coll.contains(123);
System.out.println(contains);//true
System.out.println(coll.contains(new String("Tom")));//true
System.out.println(coll.contains(new Person("Jerry", 20)));//false
}
}
结果
(三)
若希望将false改为true,需要重写Person中的equals
package com.jh;
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = 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;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public boolean equals(Object o) {
//自己添加的,判断是否重写了equals
System.out.println("Person equals()......");
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
if (age != person.age) return false;
return name != null ? name.equals(person.name) : person.name == null;
}
// @Override
// public int hashCode() {
// int result = name != null ? name.hashCode() : 0;
// result = 31 * result + age;
// return result;
// }
}
package com.mjl;
import com.jh.Person;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
@Test
public void test() {
Collection coll = new ArrayList();
coll.add(123);//第一次找
coll.add(456);//第二次找
coll.add(new String("Tom"));//第三次找
coll.add(new Person("Jerry", 20));//找到
coll.add(false);
//contains(Object obj):判断当前集合中是否包含obj
//我们在判断时会调用obj对象所在类的equals()
boolean contains = coll.contains(123);
System.out.println(contains);
System.out.println(coll.contains(new String("Tom")));
System.out.println(coll.contains(new Person("Jerry", 20)));
}
}
向Collection接口的实现类的对象中添加数据obj时,要求obj所在类要重写equals().
结果
(四)
containsAll(Collection coll1):判断形参coll1中的所有元素是否都存在于当前集合中。
package com.mjl;
import com.jh.Person;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class CollectionTest {
@Test
public void test() {
Collection coll = new ArrayList();
coll.add(123);//第一次找
coll.add(456);//第二次找
coll.add(new String("Tom"));//第三次找
coll.add(new Person("Jerry", 20));//找到
coll.add(false);
//contains(Object obj):判断当前集合中是否包含obj
//我们在判断时会调用obj对象所在类的equals()
boolean contains = coll.contains(123);
System.out.println(contains);
System.out.println(coll.contains(new String("Tom")));
System.out.println(coll.contains(new Person("Jerry", 20)));
//2.containsAll(Collection coll1):判断形参coll1中的所有元素是否都存在于当前集合中。
Collection coll1 = Arrays.asList(123,415);
System.out.println(coll.containsAll(coll1));
}
}
结果