Arrays工具类中的toString/binarySearch/sort/asList示例代码
来源:互联网 发布:中国知名的php培训机构 编辑:程序博客网 时间:2024/05/18 00:44
****************************************测试类****************************************package com.**.equalsDemo;import java.util.Arrays;import java.util.Date;import java.util.List;/** * @author Ckinghan * @描述:Arrays工具类的常用方法 */public class ArraysDemo { public static void main(String[] args) { Integer[] integers = {1,3,35,32,3,2,34,23,42,234,223,34,234,24,34}; /** * Arrays工具类的asList方法,将数组转换为list集合 */ List<Integer> list = Arrays.asList(integers); for(Integer integer : list){ System.out.println("数组通过Arrays.asList转换为list集合输出结果:"+integer); } System.out.println("------------------------------------------------我是分隔线------------------------------------------------"); /** * Arrays.sort可以对数组进行自然排序(从大到小) */ Arrays.sort(integers); /** * Arrays.toString可以将数组转换为String字符串,注意,它返回的值与数组.toString返回的值不同, * 数组.toString返回的值是一个hashCode地址 * Arrays.toString返回的是数组的值 */ String arrayString = Arrays.toString(integers); System.out.println("对数组进行自然排序后的结果并使用Arrays.toString转换后的结果为:"+arrayString); System.out.println("数组integers.toString返回的值是:"+integers.toString()); System.out.println("------------------------------------------------我是分隔线------------------------------------------------"); /** * Arrays.binarySearch可以查找数组中值存在的索引位置 * 查找的方式为折半查询(也称为二分查找法,叫法不同,都是一个意思) * 这种查找的方式速度很快,但有个前提,数组必须是有序的。 */ Integer valIndex = Arrays.binarySearch(integers, 35); System.out.println("通过Arrays.binarySearch折半算法查询到的索引位置为:"+valIndex); System.out.println("------------------------------------------------我是分隔线------------------------------------------------"); /** * 注意:如果自己创建的类想使用Arrays.sort排序时,必须实现Compareble接口中的comparaTo接口 */ Entity[] entities = {new Entity(1, "employeeInfo", new Date()), new Entity(2, "employeeInfo", new Date()), new Entity(3, "employeeInfo", new Date()), new Entity(1, "employeeInfo", new Date())}; Arrays.sort(entities); for(Entity entity : entities){ System.out.println(entity); } }}****************************************实体类****************************************package com.**.equalsDemo;import java.util.Date;public class Entity implements Comparable<Entity>{ public Integer id; public String tableName; public Date createTime; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getTableName() { return tableName; } public void setTableName(String tableName) { this.tableName = tableName; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } @Override public String toString() { return "entity [id=" + id + ", tableName=" + tableName + ", createTime=" + createTime + "]"; } public Entity(Integer id, String tableName, Date createTime) { super(); this.id = id; this.tableName = tableName; this.createTime = createTime; } public Entity() { super(); } /** * 如果想在set集合中,对比存放对象的具体内容,须要重写equals */ public boolean equals(Object obj) { if(obj instanceof Entity){ Entity entity = (Entity)obj; if(entity.id == this.id && this.tableName != null && this.tableName.equals(entity.tableName) && (this.createTime.compareTo(entity.getCreateTime())) == 0){ return true; } } return false; } /** * 还须要重写hashCode,因为equals在判断是否相等时,还会判断hashCode */ public int hashCode() { return 100000; } /** * 如果想使用Arrays中的sort排序,必须重写compareTo方法,否则会报错 */ @Override public int compareTo(Entity o) { Integer val = this.id - o.id; if(val == 0 && this.tableName != null){ val = this.tableName.compareTo(o.tableName); if(val == 0){ val = this.createTime.compareTo(o.createTime); } } return val; }}****************************************执行结果****************************************数组通过Arrays.asList转换为list集合输出结果:1数组通过Arrays.asList转换为list集合输出结果:3数组通过Arrays.asList转换为list集合输出结果:35数组通过Arrays.asList转换为list集合输出结果:32数组通过Arrays.asList转换为list集合输出结果:3数组通过Arrays.asList转换为list集合输出结果:2数组通过Arrays.asList转换为list集合输出结果:34数组通过Arrays.asList转换为list集合输出结果:23数组通过Arrays.asList转换为list集合输出结果:42数组通过Arrays.asList转换为list集合输出结果:234数组通过Arrays.asList转换为list集合输出结果:223数组通过Arrays.asList转换为list集合输出结果:34数组通过Arrays.asList转换为list集合输出结果:234数组通过Arrays.asList转换为list集合输出结果:24数组通过Arrays.asList转换为list集合输出结果:34------------------------------------------------我是分隔线------------------------------------------------对数组进行自然排序后的结果并使用Arrays.toString转换后的结果为:[1, 2, 3, 3, 23, 24, 32, 34, 34, 34, 35, 42, 223, 234, 234]数组integers.toString返回的值是:[Ljava.lang.Integer;@4c76ec2d------------------------------------------------我是分隔线------------------------------------------------通过Arrays.binarySearch折半算法查询到的索引位置为:10------------------------------------------------我是分隔线------------------------------------------------entity [id=1, tableName=employeeInfo, createTime=Wed May 10 11:00:45 CST 2017]entity [id=1, tableName=employeeInfo, createTime=Wed May 10 11:00:45 CST 2017]entity [id=2, tableName=employeeInfo, createTime=Wed May 10 11:00:45 CST 2017]entity [id=3, tableName=employeeInfo, createTime=Wed May 10 11:00:45 CST 2017]
0 0
- Arrays工具类中的toString/binarySearch/sort/asList示例代码
- Arrays类中sort,binarySearch,fill实例
- Java中的Arrays.asList()方法
- Arrays工具类的asList()方法的使用
- Arrays.binarySearch()
- Arrays.binarySearch();
- Arrays.binarySearch
- Arrays类中Arrays.asList()方法
- Arrays类—Arrays.asList()方法使用
- java中的Arrays.asList()底层原理分析
- java中的Arrays的asList方法
- Java-Arrays.asList()使用中的问题
- Arrays.asList()
- Arrays.asList()
- Arrays.asList
- Arrays.asList
- Arrays.asList()
- Arrays.asList()
- VMware12提示 已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。
- iOS开发 使用命令行从Git拉取代码详解
- nginx 不中断服务 平滑升级
- Hololens官方教程精简版
- Could not connect to lockdownd. Exiting.
- Arrays工具类中的toString/binarySearch/sort/asList示例代码
- 跟小刀 学习数据结构 红黑树的概念
- SVN之Error running context:您的主机中的软件中止了一个已建立的连接
- java回调
- bootstrap两端对齐排列的按钮组
- java__for成绩的人数区分与百分比
- linux下发送http协议请求
- JSON对象
- 点击textField,监听键盘事件实现页面上移