java contions_Java基础---数组总结

图片比较大,可能看不太清楚,可以单击右键选择查看图片,看大图

这里截取截取几个比较重要的展示吧,具体的大家看图了

arraylist---类:数组实现,查找快,线程不安全,效率高,最常用的集合之一

去重:

//注意,自定义对象必须重写 equals 方法才能实现去重

//因为 contions ();底层是依靠 equals 实现的

ArrayList a = new ArrayList();

a.add(new Student("张三",23));

a.add(new Student("张三",23));

a.add(new Student("李四",24));

//获取迭代器对象

Iterator i = a.iterator();

//创建新集合

ArrayList a1 = new ArrayList();

while (i.hasNext()) {

Student s = i.next();//.next();有个指针不能连续调用

if (!a1.contains(s)) {

a1.add(s);

}

}

TreeSet---类:在保证数据唯一性的情况下对数据进行排序,排序的功能由二叉树算法实现

两种实现方法:

方法一:自定义对象实现compareable接口,并且重写其中的compareTo方法

public class Student implements Comparable

@Override

public int compareTo(Student o) {

int num = this.age - o.age;

return num == 0 ? this.name.compareTo(o.name) : num;

}

自定义对象实现了该接口之后,直接传入,TreeSet 集合就可以实现排序和去重

当我们要保留重复元素的时候可以这样

return num == 0 ? 1 : num;

注意:

this.age - o.age; 是从小到大

o.age - this.age 是从到小

这跟二叉树的算法有关,存法:返回值为负数存左边,为正存右边,为0不存

取法:默认先取左边

方法二:在创建TreeSet对象的时候通过构造方法传入比较器(实现了comparator的对象实例,一般通过匿名内部类实现)

TreeSet t = new TreeSet(new Comparator() {

@Override

public int compare(Student o1, Student o2) {

int num = o1.getAge() - o2.getAge();

return num == 0 ? o1.getName().compareTo(o2.getName()) : num;

}

});

我们一般是通过构造方法传入 comparator 的匿名子类对象

o1.getAge() - o2.getAge(); 从小到大

o2.getAge() - o1.GetAge(); 从大到小

--------------------------------------------------------------------------------------------------------------------------------------------------------------

好了,我就写这么多了,具体的大家看图了啊

ff56b6848b93fd43e6106471e71fe351.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值