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

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

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(); 从大到小

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

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

java contions_Java基础---数组总结相关推荐

  1. Java语言基础(数组)

    Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...

  2. java入门基础-数组

    一维数组 定义 要使用java语言的数组,一般经过三个步骤:声明数组,创建空间,建数组元素并赋值. int[] x; //声明数组 x = new int[10]; //创建空间 //合并写法 int ...

  3. Java基础---数组练习(最大值、最小值的索引)

    Java基础–数组练习 1.将一维数组的遍历,封装成方法public static void arrayBianli(int[] arr) {for(int i = 0;i<arr.length ...

  4. Java基础——数组应用之StringBuilder类和StringBuffer类

    接上文:Java基础--数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...

  5. 【零基础学Java】—对象数组(十三)

    [零基础学Java]-对象数组(十三) /*** @author :CaiCai* @date : 2022/4/7 11:08*/ public class demo05 {public stati ...

  6. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  7. 【java json基础】字符串转json json转字符串 json数组转换 【java基础知识】【实用】【一看就会】

    原文:[java json基础]字符串转json json转字符串 json数组转换 [java基础知识][实用][一看就会] 读书就是:从薄读厚,再从厚读薄的过程. 文比较长,各讲述如下: 若是新手 ...

  8. Java基础数组编写酒店管理系统

    文章目录 Java基础数组编写酒店管理系统 需求说明: 实现代码: ①酒店类(Hotel.java) ②房间类(Room.java) ③酒店管理测试类(HotelMgtSystem.java) 测试结 ...

  9. java二位数组biaoda_java基础 day14 数组 二维数组 冒泡排序 例题(正则表达式)

    数组: 数组静态初始化及遍历 package wwl.array; import java.util.Arrays; /** * 数组的静态初始化及数组遍历 * */ public class Tes ...

最新文章

  1. C# 加载图片image --(C#)Image.FromFile 方法会锁住文件的原因及可能的解决方法
  2. MPEG-7 视觉描述符
  3. python类的调用关系_JAVA 查找类的所有引用关系(python实现)
  4. mysql5.5 配置_MySQL5.5 安装配置方法教程
  5. ad软件侵权律师函_Aspen Plus 9 软件安装教程
  6. JS练习:商品的左右选择
  7. bowtie1和bowtie2的比较
  8. 玩转JMETER参数化
  9. android中的适配器模式
  10. 51单片机---IE寄存器,TCON寄存器,TMOD寄存器
  11. 微信发朋友圈功能测试点小结
  12. 工业互联网大数据之数据管理与治理的简易理解
  13. 蓝牙协议学习整理(一)蓝牙的概述
  14. 隐私为何重要? 哪怕你无所隐瞒
  15. Tcp send阻塞问题
  16. 图片征集网站源码_征集提名:2013年卡尔加里最烂的网站
  17. python 图像处理 拉普拉斯算子的实现和改进-LoG和DoG算子
  18. 智能车大赛信标组_【学院新闻】第四届福建省智能汽车竞赛圆满落幕
  19. 【产品】《用户体验要素》框架层(界面设计、导航设计和信息设计)
  20. Win10驱动安装失败:提示“数据无效”或“安装错误”或其它原因的解决方法

热门文章

  1. linux tomcat下部署多个项目启动失败
  2. (转载)conflicting types for xx各种错误的总结
  3. 【BZOJ1572】【usaco 2009 open】工作安排job
  4. UART 和 USART 的区别 == 通用异步收发传输器 通用同步/异步串行接收/发送器
  5. 黑马程序员Linux系统开发视频之创建守护进程模型
  6. 从人工“智障”到人工智能,AI交互还缺什么?
  7. SLAM:现在,未来和鲁棒感知时代
  8. CAN总线基础(二)
  9. 和USB设备建立通信的过程
  10. java.util.list 赋值_java.util(ArrayList)