学习小结 总结的集合知识点和小程序1 2017.4.11

Colletion 接口下面有 Set 、List两个常见接口

Set下有实现了它的实现类 HashSet,TreeSet

List下有实现了他的实现类ArrayList,LinkedList

Map是和Collection并列的接口,存放的是(key,value)

Colletions是 Sun帮我们做的用于排序、查找的工具类,其中为静态方法。’


Set集合的数据对象没有顺序(取出时不能按照存入的顺序),并且不能重复。

List集合的数据对象有顺序(取出的顺序和存入的顺序一致),并且可以重复。

集合中不能存储基本数据,因为基本数据存在于栈上(stack),很可能方法执行之后弹栈,因此在集合中是存不住基本元素的。

集合自身重写了toString(),当调用System.out.println(collection),直接打印集合内部内容[a,b,c,d]。

//Object的equals方法什么也没做 等同于==;


class Name{
private String firstName,lastName;
public Name(String firstName,String lastName){
this.firstName = firstName;
this.lastName = lastName;
}
public String getName(){
return "firstname+" "+lastname";
}
public boolean equals(Object obj){
if(obj instanceof Name){
Name name = (Name)obj;
return firstName.equals(name.firstName)&&
lastname.equals(name.lastName);
}
return super.equals(obj);//Object的equals方法什么
也没做 等同于==;
}
public int hashCode(){
return firstName.hashCode();
}
}

public class BasicContainer{
public static void main(){
Collection c = new HashSet();
c.add("hello");
c.add(new Name("f1","f2"));
c.add(new Integer(111));
c.remove("hello");//c: [f1,f2,111]//remove contains 比较用的是equals(),Integer,String 重写了equals(),
比较的是内容是否一样,一样才删掉了。
c.remove(new Integer(111));//c: [f1f2]
System.out.println(c.remove(new Name(f1,f2)));//
[]; // true,重写了equals(),二者比较的是名字,也相等了,所以也删掉了
syso(c);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值