【java基础学习一】int[]、Integer[]、String[] 排序( 正序、倒叙)、去重
调用:
//重复项有9、5、1、2
int[] ints = new int[]{9,4,7,8,2,5,1,6,2,5,9,1};
arrayIntTest(ints);
/////////////////////////////
//重复项有9、5、1、2
Integer[] integers = new Integer[]{9,4,7,8,2,5,1,6,2,5,9,1};
arrayIntegerTest(integers);
/////////////////////////////
//重复项有e、g
String[] strs = new String[]{"e","t","a","d","g","c","A","f","e","g","Q","h"};
arrayStringTest(strs);
/**
* int[]数组操作 正序、倒叙、去重
* @param arr
*/
public static void arrayIntTest(int[] arr) {
int length = arr.length; //int[]正序
Arrays.sort(arr);
//int[]倒序
Arrays.sort(arr);
ArrayUtils.reverse(arr);
System.out.print(""); //int[]正序
int[] arr1 = Arrays.stream(arr).boxed().sorted().mapToInt(p -> p).toArray();
System.out.print("");
//int[]倒序
int[] arr2 = Arrays.stream(arr).boxed().sorted((s1, s2) -> {return s2 > s1 ? 1 : -1;}).mapToInt(p -> p).toArray();
System.out.print("");
//int[]去重
int[] arr3 = Arrays.stream(arr).boxed().distinct().mapToInt(p -> p).toArray(); } /**
* Integer[]数组操作 正序、倒叙、去重
* @param arr
*/
public static void arrayIntegerTest(Integer[] arr){
int length = arr.length; //Integer[]正序
Arrays.sort(arr);
//Integer[]倒序
Arrays.sort(arr, Collections.reverseOrder());
//Integer[]倒序
Arrays.sort(arr);
ArrayUtils.reverse(arr); //Integer[]去重
Set<Integer> set = new HashSet<Integer>();
set.addAll(Arrays.asList(arr));
Integer[] arr4 = new Integer[set.size()];
set.toArray(arr4); //Integer[]正序,去重
Set set1=new TreeSet(Arrays.asList(arr));
Integer[] arr5 = new Integer[set1.size()];
set1.toArray(arr5); //Integer[]正序
Integer[] arr1 = new Integer[arr.length];
Arrays.stream(arr).sorted().collect(Collectors.toList()).toArray(arr1);
//Integer[]倒序
Integer[] arr2 = new Integer[arr.length];
Arrays.stream(arr).sorted((s1, s2) -> {return s2>s1?1:-1;}).collect(Collectors.toList()).toArray(arr2); //Integer[]去重
List<Integer> list1 = Arrays.stream(arr).distinct().collect(Collectors.toList());
Integer[] arr3 = new Integer[list1.size()];
list1.toArray(arr3);
}
/**
* String[] 操作 正序、倒叙、去重
* @param arr
*/
public static void arrayStringTest(String[] arr){
int length = arr.length; //String[]正序
Arrays.sort(arr);
//String[]倒序
Arrays.sort(arr, Collections.reverseOrder()); //String[]正序 不区分大小写
Arrays.sort(arr, String.CASE_INSENSITIVE_ORDER);
//String[]倒序 不区分大小写
Arrays.sort(arr, String.CASE_INSENSITIVE_ORDER);
Collections.reverse(Arrays.asList(arr)); //String[]去重
Set<String> set = new HashSet<String>();
set.addAll(Arrays.asList(arr));
String[] arr4 = new String[set.size()];
set.toArray(arr4); //String[]正序,去重
Set set1=new TreeSet(Arrays.asList(arr));
String[] arr5 = new String[set1.size()];
set1.toArray(arr5); //String[]去重
List<String> list1 = Arrays.stream(arr).distinct().collect(Collectors.toList());
String[] arr1 = new String[list1.size()];
list1.toArray(arr1);
}
此代码只是练习,有问题大家随时沟通此片练习,有诸多累赘,请大家选择合适的运用。
从今日起,由于形势所迫转java,java随笔今日正式开写,.net暂时告一段落。说多了都是泪。。。
【java基础学习一】int[]、Integer[]、String[] 排序( 正序、倒叙)、去重的更多相关文章
- Java基础学习【字符串倒序输出+排序】
字符串逆序输出 import java.util.*; public class Main{ public static void main(String [] args) { //字符串逆序输出 S ...
- Java基础学习(4)
Java基础学习(四) String类 特点:创建后不可再修改,看起来的修改只是创建了新的对象 常用方法 StringBuilder类 目的:解决String类频繁创建对象的问题 常用方法 特点:非线 ...
- JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API
森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397 文章- 0 评论- 78 JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- Java基础学习中一些词语和语句的使用
在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...
- java基础解析系列(二)---Integer
java基础解析系列(二)---Integer 前言:本系列的主题是平时容易疏忽的知识点,只有基础扎实,在编码的时候才能更注重规范和性能,在出现bug的时候,才能处理更加从容. 目录 java基础解析 ...
- Java基础扫盲系列(-)—— String中的format
Java基础扫盲系列(-)-- String中的format 以前大学学习C语言时,有函数printf,能够按照格式打印输出的内容.但是工作后使用Java,也没有遇到过格式打印的需求,今天遇到项目代码 ...
- Java基础学习笔记(一)
Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...
- [转帖]java基础学习总结——多态(动态绑定)
https://www.cnblogs.com/xdp-gacl/p/3644035.html 多态的概念 java基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态
随机推荐
- http load 的使用以及参数解释
http load 的使用以及参数解释 1.参数含义 参数 全称 含义 -p -parallel 并发的用户进程数.-f -fetches ...
- TinyHTTP代码核心流程
TinyHTTPd是一个超轻量型Http Server,使用C语言开发,全部代码不到600行 研究HTTP服务器,为了更好的造轮子,看了TinyHTTPd代码,对逻辑处理画个简单流程图(不含底层)
- mysql5.5 物理删除binlog文件导致的故障
故障现象: 中午12点多,一套主从集群的主库因为没有配置大页内存,发布时导致OOM,MYSQL实例重启了,然后MHA发生了切换.切换过程正常.切换后需要把原master配置成新master的slave ...
- 监控服务 - Nagios配置文件详解
Nagios的配置文件: Nagios安装后有四种默认的配置文件:主配置文件.CGI配置文件.资源定义文件.对象定义文件.这些配置文件间具有一些关系,只有充分理解各配置文件,才能使得配置Nagios服 ...
- ruby中tes-unitt数据初始化方法整理
在用ruby做测试时,很多时候需要一些数据初始化以及事后的数据恢复还原之类的操作,下面整理了这些方法.require "test/unit" class TestAnion < ...
- 关于Windows2008服务器设置MIME后仍然无法播放MP4的解决方法
最近遇到了一个非常邪门的故障,重新安装了Windows2008服务器后 Mp4无法正常播放: 整个互联网中关于设置MP4的方法基本都是教你如何在IIS中设置MIME 本文讨论的不是如何教你设置MIME ...
- JAVA并发编程
拜读了一篇很详尽的博文,特此转载http://www.cnblogs.com/dolphin0520/p/3920373.html, 并做了一些更正. 一.内存模型的相关概念. 大家都知道,计算机在执 ...
- delphi怎么创建一个文本文件
//创建一个文本文件 procedure TFrmAutomatismBalance.FlatButton3Click(Sender: TObject); var TF:TextFile; Path ...
- asp.net 4.0+ webform 程序中集成mvc4混合应用
vs2015之后新建web站点可以很轻松的搭建mvc与webform的混合应用,vs2012下其实也可以通过简单的几部也可以实现,具体如下: 1.新建packages.config文件,里面加上必要的 ...
- twitter点赞动画详解
今天在微博上看到@过气网红一丝 的一篇微博,codepen上贴出了twitter点赞那个动画效果的源码,地址 http://codepen.io/yisi/pen/LpXVJb .我看了下效果很好看, ...