@集合示例,基础笔记

@集合示例,基础笔记
public boolean add(E a) 给定的对象添加到当前集合中
addAll( int i , E a ) 给定的对象添加到集合中有索引,可以添加到指定位置

Collection<String> coll = new ArrayList<>();
System.out.println(coll);       //空的
boolean b1 = coll.add("张三");   //可以去掉 boolean b1直接coll.add()
System.out.println(coll);      //张三

public boolean remove(E a) 把给定的对象在当前集合中删除

coll.remove("张三");      //本来是[张三, 李四, 王五, 赵六, 田七]
System.out.println(coll);    //用了remove之后变成了[李四, 王五, 赵六, 田七]

public boolean contains(E a) 判断当前集合中是否包含给定的对象

boolean b2 = coll.contains("李四");
System.out.println(b2);   //true

public int size() 返回元素中集合个数
indexof(“xxx”) 获取元素在集合中出现的第一次索引下标 lastIndexof(“xxx”) 最后一次

int i = coll.size();
System.out.println(i);    //4

public object[] toArray() 把集合中的元素保存到数组

Object[] arr = coll.toArray();         //变成数组
for (int j = 0; j < arr.length; j++) { //遍历数组
    System.out.println(arr[j]);        //打印数组

public void clear() 清空集合中所有元素

coll.clear();
System.out.println(coll);  //集合还在就是内容清空了

hashCode()方法
HashSet集合判断两个元素相等的标准:两个对象通过equals()方法比较相等,并且两个对象的hashCode()方法返回值也相等,
TreeSet: 可以确保集合元素处于排序状态
支持两种排序:自然和定制,默认是自然排序
给人类按照年龄排序

//人类的代码,需要继承一个接口,实现一个方法 这就是定制排序
public class Porsen implements Comparator<Porsen> {
     String name;
     int age;

    public Porsen(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Porsen() {
    }

    @Override
    public int compare(Porsen o1, Porsen o2) {
        if (o1.age>o2.age){
            return 1;
        }else if (o1.age<o2.age){
            return  -1;
        }else {
            return 0;
        }
    }
}
//实现类代码
public class Dome {
    public static void main(String[] args) {
        Porsen p1 = new Porsen("卢本伟",18);
        Porsen p2 = new Porsen("张三",56);
        Porsen p3 = new Porsen("小智",38);
        Porsen p4 = new Porsen("飞机",23);
        Porsen p5 = new Porsen("得分",31);
        Set<Porsen> set = new TreeSet<Porsen>(new Porsen());
        set.add(p1);
        set.add(p2);
        set.add(p3);
        set.add(p4);
        set.add(p5);
        for (Porsen p:set) {
            System.out.println(p.name+" "+p.age);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值