java collection的方法,Java Collection接口的常用方法

代码实例:

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collection;

import java.util.Date;

import java.util.Iterator;

import java.util.List;

import org.junit.Test;

public class TestCollection {

@Test

public void testCollection1() {

Collection col = new ArrayList();

//1.size():返回集合中元素的个数

System.out.println(col.size());//0

//2.add(Object obj):向集合中添加元素

col.add(123);

col.add(new String("AAA"));

col.add(new Date());

System.out.println(col.size());//3

Collection col1 = Arrays.asList(1,2,3,"BB");

/**

* public static List asList(T... a) {

*return new ArrayList(a);

* }

*/

//3.addAll(Collection col):将形参col中包含的所有元素添加到当前集合中

col.addAll(col1);

System.out.println(col.size());//7

//查看集合元素

System.out.println(col);

//4.isEmpty():判断集合是否为空

System.out.println("col中是否为空:" + col.isEmpty());//false

//5.clear():清空集合元素

col.clear();

System.out.println("col中是否为空:" + col.isEmpty());//true

}

@Test

public void testCollection2() {

Collection col = new ArrayList();

col.add(123);

col.add(new String("AAA"));

col.add(new Date());

col.add(new TestObject1("MM"));

col.add(new TestObject2("GG"));

//6.contains(Object obj):判断集合中是包含指定的元素。如果包含返回true,否则,返回false。

//判断依据:根据元素所在类的equals()方法进行判断

//明确:如果存入集合中的元素是自定义的对象。要求:自定义类要重写equals()方法。

boolean b1 = col.contains(new String("AAA"));//String类本身就已重写了Object类中的equals()方法

System.out.println(b1);//true

boolean b2 = col.contains(new TestObject1("MM"));//TestObject1类重写了equals()方法

System.out.println(b2);//true

boolean b3 = col.contains(new TestObject2("GG"));//TestObject2类未重写equals()方法

System.out.println(b3);

//7.containsAll(Collection col):判断当前集合中是否包含col中的所以的元素

Collection col2 = new ArrayList();

col2.add(123);

col2.add(new TestObject1("MM"));

boolean b4 = col.containsAll(col2);

System.out.println("7:" + b4);

//8.retainAll(Collection col):求当前集合与col的共有元素,返回给当前集合。有修改过col则返回true。

boolean b5 = col.retainAll(col2);

System.out.println(b5 + "+" + col);//[123, TestObject1 [name=MM]]

//9.remove(Object obj):删除集合中的obj元素。若删除成功返回true,否则返回false。

boolean b6 = col.remove(new TestObject2("GG"));

System.out.println("9:" + b6);

}

@Test

public void testCollection3() {

Collection col = new ArrayList();

col.add(123);

col.add(new String("AAA"));

col.add(new Date());

col.add(new TestObject1("MM"));

col.add(new TestObject2("GG"));

Collection col1 = new ArrayList();

col1.add(123);

col1.add(456);

col1.add(new String("AAA"));

//10.removeAll(Collection col):从当前集合中删除包含在col中的元素

col.removeAll(col1);

System.out.println(col);

//11.equals(Object obj):判断集合中的所有元素是否相同

Collection col2 = new ArrayList();

col2.add(123);

col2.add(456);

col2.add(new String("AAA"));

System.out.println("11:" + col1.equals(col2));//true

//12.hashCode()

System.out.println("12:" + col1.hashCode());

//13.toArray():将集合转化为数组

Object[] obj = col.toArray();

for (int i = 0; i < obj.length; i++) {

System.out.println(obj[i]);

}

//14.iterator():返回一个Iterator接口的实现类的对象

Iterator iterator = col.iterator();

while(iterator.hasNext()) {

System.out.println(iterator.next());

}

}

}

//重写equals()方法

class TestObject1 {

private String name;

public TestObject1(String name) {

super();

this.name = name;

}

@Override

public boolean equals(java.lang.Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

TestObject1 other = (TestObject1) obj;

if (name == null) {

if (other.name != null)

return false;

} else if (!name.equals(other.name))

return false;

return true;

}

@Override

public String toString() {

return "TestObject1 [name=" + name + "]";

}

}

//未重写equals()方法

class TestObject2 {

private String name;

public TestObject2(String name) {

super();

this.name = name;

}

@Override

public String toString() {

return "TestObject2 [name=" + name + "]";

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值