基本思路:数组调用Arrays.sort(T[] a,Comparator<? super T> c),对Comparator进行重写。运用Random类 ,实现对数字的随机排序。

  1. 对数字进行随机排序。

代码如下:

import java.util.Arrays;
import java.util.Comparator;
import java.util.Random;public class RandomSort {public static void main(String[] args) {//定义数组Integer []arr = {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8, 9};//定义随机树数Random r = new Random();//随机排序Arrays.sort(arr , new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {//随机比较大小,随机生成0或1Integer flag = r.nextInt(2);if(flag == 0)return -1;else return 1;}});//输出for(Integer ar : arr)System.out.print(ar + " ");}}

输出结果:

2.对容器随机排序:

代码如下:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Random;public class RandomSort {public static void main(String[] args) {//定义容器List<Integer> arr = new ArrayList<Integer>();//定义随机树数Random r = new Random();//添加元素for(int i = 0 ; i < 10 ; i ++)arr.add(i);//随机排序Collections.sort(arr , new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {//随机比较大小,随机生成0或1Integer flag = r.nextInt(2);if(flag == 0)return -1;else return 1;}});//输出Iterator<Integer> iter = arr.iterator();while(iter.hasNext()){System.out.print(iter.next() +  " ");}}}

输出结果:

3.对类进行排序:

代码如下:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Random;//实现Comparable接口
class Number implements Comparable<Number>
{private int a;public Number(int a ){this.a = a;}public int GetA(){return this.a;}@Overridepublic int compareTo(Number o) {Random r = new Random();Integer flag = r.nextInt(2);if(flag == 0)return -1;else return 1;}
}
public class RandomSort {public static void main(String[] args) {//定义容器List<Number> arr = new ArrayList<Number>();//添加数组{0 , 1 , 2 , 3 , 4 , , 5 , 6 , 7 , 8 , 9}for(int i = 0 ; i < 10 ; i ++)arr.add(new Number(i));//随机排序Collections.sort(arr );//输出Iterator<Number> iter = arr.iterator();while(iter.hasNext()){System.out.print(iter.next().GetA() +  " ");}}}

输出结果:

Java运用自身排序算法将数组或容器进行随机打乱。相关推荐

  1. Java回炉之排序算法

    Java回炉之排序算法 Java回炉之排序算法 冒泡排序 插入排序 归并排序 快速排序 希尔排序 选择排序 堆排序 冒泡排序 一次次遍历数组,每次比较相邻两个. 两重循环,内层比较index和inde ...

  2. android studio插入数据表中没有_学Java能拿高薪吗 Java中常见排序算法有哪些

    学Java能拿高薪吗?Java中常见排序算法有哪些?作为老牌编程语言,Java拥有广阔的市场占有率,几乎90%以上的大中型互联网应用系统在服务端开发都会首选Java.为了加入到Java这一高薪行业,很 ...

  3. Java 实现常见排序算法

    Java 实现常见排序算法 1. 综述 复习常见排序算法,用Java实现. 2. 代码 1 package cn.edu.tju.scs; 2 3 public class Sort { 4 publ ...

  4. Java折半二叉树,成都汇智动力-Java实现常用排序算法

    原标题:成都汇智动力-Java实现常用排序算法 排序算法介绍 1. 基本概念 稳定性: 待排序的数列中,若两个元素的值相等 R1 = R2 ,在排序结束之后,元素之间的相对位置没有发生变化,则称排序算 ...

  5. Java默认的排序算法

    Java基础-08 [08:11] Java默认的排序算法: 需要区分: 是 Arrays.sort() 还是 Collections.sort() (底层是调用 Arrays.sort()): 什么 ...

  6. java 奇偶数据排序算法,简单讲解奇偶排序算法及在Java数组中的实现

    简单讲解奇偶排序算法及在Java数组中的实现 奇偶排序是一个比较有个性的排序,基本思路是奇数列排一趟序,偶数列排一趟序,再奇数排,再偶数排,直到全部有序 举例吧, 待排数组 [6 2 4 1 5 9] ...

  7. java常用的排序算法的思想以及实现

    一些常见的排序算法的事项以及java实现 由于时间上的原因没有计算时间复杂度,以后有时间补上,或者大家有兴趣的可以自己算算 package com.sgcc.cn;import java.util.A ...

  8. java八种排序算法---直接插入排序

    在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...

  9. Java十大排序算法总结,Java排序算法总结之冒泡排序

    本文实例讲述了Java排序算法总结之冒泡排序.分享给大家供大家参考.具体分析如下: 前言:冒泡排序(BubbleSort)就是依次比较相邻的两个数,将小数放在前面,大数放在后面. 下面让我们一起    ...

最新文章

  1. 聊聊WEB系列_Index
  2. linux进程间通讯-无名管道
  3. Appcan跨域交互
  4. 2014/School_C_C++_A/5/勾股定理
  5. 在vc++里面进行图像处理的时候应该把图形放哪_图形找朋友小班教案
  6. python对象属性是与数据有关的项目_python之对象产生,属性(定义的值)的查找原则,对象绑定关系...
  7. linux学习记录8
  8. [转] Python的import初探
  9. zotero文献管理工具的下载安装
  10. WBE15_HttpServletRequest
  11. mysql函数大全之数字函数
  12. java读取共享文件_局域网共享文件读写的实现方式
  13. 简历模版|简历在线制作|分享几个免费在线简历模版的网站
  14. 动画中的关键帧动画的原理
  15. Debian搭建dns服务器
  16. java验证歌德巴赫猜想
  17. python写自动化测试脚本常见报错_Appium自动化测试
  18. 【CTF WriteUp】2020天翼杯Crypto题解
  19. Ubuntu下 intel网卡wifi驱动安装
  20. JDK 16 即将发布,看完这些新特性,我感觉已经学不动了..

热门文章

  1. bzoj 2905 背单词
  2. cJONS序列化工具解读二(数据解析)
  3. hdu 2149 巴什博弈
  4. JS 获取当前日期时间(兼容IE FF)
  5. 动态规划——变形的杨辉三角形
  6. [剑指offer]面试题第[28]题[Leedcode][JAVA][第101题][对称二叉树][队列][递归]
  7. 【软考】[信息安全工程师]
  8. python输入一个字符一个数字_Python:如何只对字符串中的数字字符加/减一个数字?...
  9. webstorm使用前的准备——Node.js安装及配置
  10. 253B. Physics Practical