JAVA随机打乱数组顺序的方法

 更新时间:2014年11月26日 09:21:03   投稿:shichen2014  
这篇文章主要介绍了JAVA随机打乱数组顺序的方法,包含了随机数的应用及数组的排序等操作,是Java操作数组的典型应用,需要的朋友可以参考下

本文实例讲述了JAVA随机打乱数组顺序的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:
import java.util.Random;   
   
public class RandomSort {   
    private Random random = new Random();   
    //数组大小   
    private static final int SIZE = 10;   
    //要重排序的数组   
    private int[] positions = new int[SIZE];   
       
    public RandomSort() {   
        for(int index=0; index<SIZE; index++) {   
            //初始化数组,以下标为元素值   
            positions[index] = index;   
        }   
        //顺序打印出数组的值   
        printPositions(); 
    }   
       
    //重排序   
    public void changePosition() {   
        for(int index=SIZE-1; index>=0; index--) {   
            //从0到index处之间随机取一个值,跟index处的元素交换   
            exchange(random.nextInt(index+1), index);   
        }   
        printPositions();   
    }   
       
    //交换位置   
    private void exchange(int p1, int p2) {   
        int temp = positions[p1];   
        positions[p1] = positions[p2];   
        positions[p2] = temp;  //更好位置 
    }   
       
    //打印数组的值   
    private void printPositions() {   
        for(int index=0; index<SIZE; index++) {   
            System.out.print(positions[index]+" ");            
        }   
        System.out.println();   
    }   
   
    public static void main(String[] args) {   
        RandomSort rs = new RandomSort();   
        rs.changePosition();   
        rs.changePosition();   
        rs.changePosition();   
    }   
}

希望本文所述对大家的Java程序设计有所帮助。

相关文章

  • 详解springmvc拦截器拦截静态资源

    详解springmvc拦截器拦截静态资源

    本篇文章主要介绍了详解springmvc拦截器拦截静态资源,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01
  • spring cloud服务连接超时问题及解决

    spring cloud服务连接超时问题及解决

    这篇文章主要介绍了spring cloud服务连接超时问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 数据定位在java购物车系统中的应用

    数据定位在java购物车系统中的应用

    实现"加入购物车"功能,数据定位至关重要,它通过用户ID和商品ID等标识符实现快速查询和数据一致性,主键、外键和联合索引等数据库技术,以及Redis缓存和并发控制策略如乐观锁或分布式锁,共同保障了购物车系统的查询效率和数据安全,这些机制对高并发和大数据量的场景尤为重要
    2024-10-10
  • java三层架构原理与作用小结

    java三层架构原理与作用小结

    这篇文章主要对Java三层架构的概念、作用等进行了介绍,需要的朋友可以参考下
    2017-04-04
  • Kotlin协程与并发深入全面讲解

    Kotlin协程与并发深入全面讲解

    Android官方对协程的定义-协程是一种并发设计模式,您可以在Android平台上使用它来简化异步执行的代码。协程是在版本1.3中添加到Kotlin的,它基于来自其他语言的既定概念
    2022-11-11
  • Springboot logback-spring.xml无法加载问题

    Springboot logback-spring.xml无法加载问题

    这篇文章主要介绍了Springboot logback-spring.xml无法加载问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 详解Java中的反射机制和动态代理

    详解Java中的反射机制和动态代理

    本文将详细介绍反射机制以及动态代理机制,而且基本现在的主流框架都应用了反射机制,如spring、MyBatis、Hibernate等等,这就有非常重要的学习意义
    2021-06-06
  • 一文讲解如何优雅的调试jar包

    一文讲解如何优雅的调试jar包

    在现实开发过程中,现场环境永远比开发环境复杂,下面这篇文章主要给大家介绍了关于如何优雅的调试jar包的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • java编程题之合并两个排序的链表

    java编程题之合并两个排序的链表

    这篇文章主要为大家详细介绍了java编程题之合并两个排序的链表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • java实现上传文件到oss(阿里云)功能示例

    java实现上传文件到oss(阿里云)功能示例

    这篇文章主要介绍了java实现上传文件到oss(阿里云)功能,结合实例形式详细分析了java上传文件到阿里云的具体步骤、配置及相关实现技巧,需要的朋友可以参考下
    2019-11-11

最新评论