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程序设计有所帮助。

相关文章

  • Spring Cache自定义缓存key和过期时间的实现代码

    Spring Cache自定义缓存key和过期时间的实现代码

    使用 Redis的客户端 Spring Cache时,会发现生成 key中会多出一个冒号,而且有一个空节点的存在,查看源码可知,这是因为 Spring Cache默认生成key的策略就是通过两个冒号来拼接,本文给大家介绍了Spring Cache自定义缓存key和过期时间的实现,需要的朋友可以参考下
    2024-05-05
  • Springboot接收Get参数实践过程

    Springboot接收Get参数实践过程

    本文主要介绍了在Spring Boot中如何接收不同类型的请求参数,包括在路径中直接传递参数、跟在问号后面传递参数、使用Map接收参数、接收数组以及使用对象接收参数等方法
    2024-12-12
  • Springboot整合Dozer实现深度复制的方法

    Springboot整合Dozer实现深度复制的方法

    Dozer是一种Java Bean到Java Bean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通用的,灵活的,可重用的和可配置的开源映射框架,本文给大家介绍Springboot整合Dozer的相关知识,感兴趣的朋友跟随小编一起看看吧
    2022-03-03
  • spring security自定义决策管理器

    spring security自定义决策管理器

    这篇文章主要介绍了spring security自定义决策管理器的实现代码,需要的朋友参考下吧
    2017-09-09
  • java操作solr实现查询功能的实例

    java操作solr实现查询功能的实例

    下面小编就为大家分享一篇java操作solr实现查询功能的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • java使用UDP实现点对点通信

    java使用UDP实现点对点通信

    这篇文章主要为大家详细介绍了java使用UDP实现点对点通信,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 深入理解@component与@Configuration注解

    深入理解@component与@Configuration注解

    这篇文章主要介绍了深入理解@component与@Configuration注解,从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被扫描,并用于构建bean定义,初始化Spring容器,需要的朋友可以参考下
    2023-11-11
  • 详解JAVA 线程-线程的状态有哪些?它是如何工作的?

    详解JAVA 线程-线程的状态有哪些?它是如何工作的?

    这篇文章主要介绍了详解JAVA 线程的的相关资料,文中讲解非常细致,源码帮助大家更好的理解和学习,感兴趣的朋友可以参考下
    2020-06-06
  • idea中方法、注释、导入类折叠或是展开的设置方法

    idea中方法、注释、导入类折叠或是展开的设置方法

    这篇文章主要介绍了idea中方法、注释、导入类折叠或是展开的设置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Spring bean生命周期配置过程解析

    Spring bean生命周期配置过程解析

    这篇文章主要介绍了Spring bean生命周期配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03

最新评论