java list随机抽取元素的案例

我就废话不多说了,大家还是直接看代码吧~

/**
   * 从list中随机抽取元素
   *
   * @param list
   * @param n
   * @return void
   * @throws
   * @Title: createRandomList
   * @Description: TODO
   */
  private static List createRandomList(List list, int n) {
    // TODO Auto-generated method stub
    Map map = new HashMap();
    List listNew = new ArrayList();
    if (list.size() <= n) {
      return list;
    } else {
      while (map.size() < n) {
        int random = (int) (Math.random() * list.size());
        if (!map.containsKey(random)) {
          map.put(random, "");
          System.out.println(random + "===========" + list.get(random));
          listNew.add(list.get(random));
        }
      }
      return listNew;
    }
  }

扩展:

截取list

list.subList(0, 2);

补充知识:java list随机打乱顺序

通过 Collections.shuffle(list)来打乱顺序

List<String> list = new ArrayList<String>();
    list.add("mjb");
    list.add("hh");
    list.add("lw");
    list.add("pqj");
    list.add("hj");
    System.out.println("前:");
    for(int i=0;i<list.size();i++){
      System.out.print(list.get(i)+"  ");
    }
    System.out.println("");
    System.out.println("后:");
    Collections.shuffle(list);
    for(int i=0;i<list.size();i++){
      System.out.print(list.get(i)+"  ");
    }

以上这篇java list随机抽取元素的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java实现把一个List集合拆分成多个的操作

    有些时候我们需要对一批数据进行分批处理, 使用subList方法可以实现对List集合进行固定长度的分割. /* * List分割 */ public static List<List<String>> groupList(List<String> list) { List<List<String>> listGroup = new ArrayList<List<String>>(); int listSize = lis

  • Java对List进行排序的两种实现方法

    前言 Java.util包中的List接口继承了Collection接口,用来存放对象集合,所以对这些对象进行排序的时候,要么让对象类自己实现同类对象的比较,要么借助比较器进行比较排序. 学生实体类,包含姓名和年龄属性,比较时先按姓名升序排序,如果姓名相同则按年龄升序排序. 第一种:实体类自己实现比较 (实现comparable接口:public interface Comparable<T> ,里面就一个方法声明:public int compareTo(T o); ) 示例代码: publ

  • java中List对象排序通用方法

    本文实例讲述了java中List对象排序通用方法.分享给大家供大家参考.具体分析如下: 在数据库中查出来的列表list中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询.如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高系统的性能. 只要把第一次查出来的结果存放在session中,就可以对list重新排序了.一般对list排序可以使用Collections.sort(list),但如果list中包含是一个对象的话,这种方法还是行不通的.那要怎么排序

  • 详解Java 集合类 List 的那些坑

    现在的一些高级编程语言都会提供各种开箱即用的数据结构的实现,像 Java 编程语言的集合框架中就提供了各种实现,集合类包含 Map 和 Collection 两个大类,其中 Collection 下面的 List 列表是我们经常使用的集合类之一,很多的业务代码都离不开它,今天就来看看 List 列表的一些坑. 第一个坑:Arrays.asList 方法返回的 List 不支持增加.删除操作 例如我们执行以下代码: List<String> strings = Arrays.asList(&qu

  • java list随机抽取元素的案例

    我就废话不多说了,大家还是直接看代码吧~ /** * 从list中随机抽取元素 * * @param list * @param n * @return void * @throws * @Title: createRandomList * @Description: TODO */ private static List createRandomList(List list, int n) { // TODO Auto-generated method stub Map map = new H

  • java实现随机抽取奖品工具类

    本文实例为大家分享了java实现随机抽取奖品工具类的具体代码,供大家参考,具体内容如下 随机抽取奖品 整体思路: 1.奖品集合 + 概率比例集合 2.将奖品按集合中的顺序概率计算成所占比例区间,放入比例集合.并产生一个随机数加入其中,进行排序. 3.排序后随机数落在那个区间就表示那个区间的奖品被抽中. 4.返回的随机数在集合中的索引,该索引就是奖品集合的中的索引. 5.比例区间的计算通过概率相加获得. //奖品的实体类 public class Gift { private String id;

  • java+sql2005 随机抽取试题的代码

    复制代码 代码如下: import java.awt.BorderLayout; import java.util.*; import java.awt.event.*; import java.awt.Container; import java.awt.EventQueue; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Stateme

  • Java利用数组随机抽取幸运观众如何实现

    编写程序,事先将所有观众姓名输入数组,然后获得数组元素的总数量,最后在数组元素中随机抽取元素的下标,根据抽取的下标获得幸运观众的姓名. 思路如下: 定义输入框的按键事件,使用KeyEvent类的getKeyChar()函数判断其是否是回车字符,若不是则不作处理:使用isEmpty()函数判断文本框中是否有字符串,如果没有字符串则不做处理:若为合法输入则通过JTextArea类的append()方法把输入人名与回车符添加到人员列表:使用selectAll()方法选择文本框所有字符:定义点击"抽取&

  • java利用数组随机抽取幸运观众

    本文实例为大家分享了java利用数组随机抽取幸运观众的具体代码,供大家参考,具体内容如下 思想: 首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标得到幸运观众的名字. import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.E

  • java编写一个花名随机抽取器的实现示例

    一.程序效果 还记得以前上课的时候,老师会用自己写的一个抽取器抽取同学回答问题,当时想着我也要做一个,假期没事干,自学了java,闲来无聊,我也写一个,但是写的没有老师好,哈哈,好了说一下思路,先把界面布置好,然后逐一实现每个按钮的功能,其实也没什么难的. 二.需要用到的包 import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.util.*; 三.代码 1.相

  • php从数组中随机抽取一些元素的代码

    复制代码 代码如下: <?php class getValues { public function inputValue($inputArray) { $this->inputArray = $inputArray; } public function getValue($number) { $this->number = $number; for($i = 0; $i < $this->number; $i ++) { $index = rand ( 0, count (

  • java Arrays快速打印数组的数据元素列表案例

    1.Arrays.toString 用来快速打印一维数组的数据元素列表 2.Arrays.deepToString 快速打印一个二维数组的数据元素列表 public static strictfp void main(String[] args) { String[][] arr = {{"aaa","bbb"},{"ccc"}}; for(int x=0;x<arr.length;x++){ for(int y=0;y<arr[x]

  • Java权重随机的实现方法

    本文实例讲述了Java权重随机的实现方法.分享给大家供大家参考.具体分析如下: 权重随机在项目中经常用到,所以我把它抽象到一个工具类中. 一般实现随机权重有两种方式: 1. 使用一个数组存放权重对应的实际目标,比如A的权重是2,B的权重是3,那么数组长度为5, 数组前两个存放A,后三个存放B. 然后随机一个[0-数据长度)的数字,直接取数组对应下标的值就可以了. 优点:数据结构简单,算法高效,实现简单 缺点:当权重值比较大同时数据又比较多的时候,会浪费内存 2. 使用区间算法,从前到后依次叠加权

  • java 实现随机数组输出及求和实例详解

    java 实现随机数组输出及求和 问题描述: 随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 设计思路: 使用java.util中的Random类来获取随机数,存入数组后,定义一个String类的对象result,利用for循环存储要输出的数组内容到result并且求和:再利用javax.swing中的JoptionPane类创建消息框进行结果输出. 源代码: import java.util.*; import javax.swing.

随机推荐