【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基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态
随机推荐
- AXIS最佳实践
前言: Axis是apache一个开源的webservice服务,需要web容器进行发布.本节主要用于介绍使用Axis开发webservice,包括服务端的创建.webservice的部署.客户端的调 ...
- DBMS_OUTPUT in SQL Developer
I fell sad for all the programmers(including) that has to SQL Developer as sql IDE. However, if you ...
- 将页面打印成excel
在servlet中调用 try { File fileWrite = new File("D:/Write.xls"); fileWrite.createNewFile(); Ou ...
- android模拟器停在Waiting for HOME解决方案
直接打开Android SDK Manager然后再从Android SDK Manager里的tools打开Android AVD Manager,删除掉在Eclipse里创建的模拟器.并在新建一个 ...
- vmware安装无法打开内核设备 \\.\Global\vmx86: 系统找不到指定的文件
刚刚安装好了虚拟机,Windows XP 64bit Professional,安装好了开发环境,然后重启机器后虚拟机就打不开了,提示“vmware安装无法打开内核设备 \\.\Global\vmx8 ...
- 优先级反转实验,使用信号量实现【RT-Thread学习笔记 5】
RTOS中很经典的问题.就是在使用共享资源的时候,优先级低的进程在优先级高的进程之前执行的问题.这里模拟这种情况. 下面的实验模拟了优先级反转的情况: 先定义三个线程: //优先级反转实验 rt_se ...
- Eclipse几个版本号的区别
查看Eclipse的版本号: 1. 找到eclipse安装目录 2. 进入readme文件夹,打开readme_eclipse.html 3. readme_eclipse.html呈现的第二行即数字 ...
- CGI
CGI的工作原理一般是这么定义的: 客户端web浏览器浏览某个主页后,利用一定的方式提交数据,并通过HTTP协议向Web服务器发出请求,服务器端的HTTP Daemon(守护进程)将描述的主页信息通过 ...
- shared_ptr 线程安全
Then what's really happening is TWO different sections of memory are being allocated. It's done at o ...
- android 代码设置progressBar 颜色
void test() { LinearLayout linearLayout = new LinearLayout(this); ProgressBar progressBar = new Prog ...