【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基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态
随机推荐
- 用freemarker定义宏实现自定义公用控件
参考文章: Freemarker自定义标签的简单分析 定义一个基本的文本框:传入参数为:resourceName idName resourceVal="" idVal=" ...
- TextBlock
一.TextBlock与Lable TextBlock是比Lable更底层的控件如果用TextBlock可以完成的需求就尽量不用Lable可以稍微提升一点性能. 参考文档 二.TextBlock内容过 ...
- 监控服务 - Nagios配置文件详解
Nagios的配置文件: Nagios安装后有四种默认的配置文件:主配置文件.CGI配置文件.资源定义文件.对象定义文件.这些配置文件间具有一些关系,只有充分理解各配置文件,才能使得配置Nagios服 ...
- a new blog from MarsEdit
终于在网上找到了一款mac 下的blog写作和发布工具了. 先测试一下.
- Ubuntu下,python输出中文
python教程里说,如果要输出非英语文本就加前缀u或U, 例如: print u"你好啊,祖国" print u"こんにちは.私はとてもいいです" 结果会报错 ...
- FreeRTOS知识点
特点: FreeRTOS任务不容许以任何方式从 任务中 实现函数中返回--绝对不能有return语句,也不能执行到函数末尾.如果任务不再需要,可以显示的删除. 一个任务函数可以用来创建若干个任何-- ...
- APP UI设计及切图规范
APP UI设计及切图规范 1.概述 1.1 编写目的 该文档主要针对移动端开发的视觉设计和开发过程中的工作环节做统一的规划规范,是系统进入UI设计的前置文档.部分内容来自网络收集修编,转载请注明由 ...
- 评论Final版本发布
1. 新蜂:俄罗斯方块 产品方面:俄罗斯方块在Beta版本基础上新增了许多功能,其中游戏中按A键可以开启瞄准,这个功能在市面上是具有先发优势的,算是一个较大的亮点:在改进了文字ui和方块的贴图以及游 ...
- DbEntry.Net.v3.5 快速教程
1.DbEntry 介绍 EN&Download——[DbEntry Framework下载][Tutorials For Version 3.5] CN&Summary:总体特性的介 ...
- 【转载】nodejs,npm,express分别什么?
很多刚刚接触nodejs的初学者,都会经历一个很繁冗的环境安装过程. 一般主要要安装nodejs,npm和express三样东西.那么这三样东西分别是干什么的呢? 本篇文章就大致介绍一下这三样东西分别 ...