Java的:排除洗牌数组索引 [英] Java: Exclude array index in shuffle

查看:202
本文介绍了Java的:排除洗牌数组索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可能排除洗牌数组索引?

Is it possible to exclude array indexes in a shuffle?

我在这个问题上的见解:

My insight in this question:

   Array[0,1,2,3,4,5,6,7,8]
   Exclude Array index 2 and 7 in shuffle.
   Shuffle Array.
   Array[3,5,2,1,6,8,0,7,4]

这是我的东西我在洗牌中:

This is my what I used in my shuffle:

List<Pokemon>list = Arrays.asList(pkm);
Collections.shuffle(list);

编辑:

谢谢,@Jhanvi!我研究过你code,它给了我一些想法。我想玩弄你和耆那教@Rohit的codeS和创建了一个示例:

Thanks, @Jhanvi! I studied your code and it gave me some ideas. I tried to play around with yours and @Rohit Jain's codes and created a sample:

import java.util.Arrays;

    import java.util.Collections;
    import java.util.List;
    import java.util.ArrayList;

public class Example {

 public static void main(String[]args){
    String[] x = {"a","b","c","d","e","f","g","h"};
    List<String> list = new ArrayList<String>(Arrays.asList(x));
    System.out.println("Before shuffling, ArrayList contains : " + list);
    Object obj = list.remove(7);
    Object obj1 = list.remove(2);
    Collections.shuffle(list);
    list.add(2, obj1);
    list.add(7, obj);
    System.out.println("After shuffling, ArrayList contains : " + list);        
 }     
}

烦人它给了我一个错误:
无法找到符号方法添加(INT,java.lang.Object)中的两个我list.add()。

Annoyingly it gives me an error: cannot find symbol method add(int,java.lang.Object) on both my list.add().

我检查了存在。新增(INT,对象)列表方法,认为它会工作。我错过了什么地方?

I checked that there exists a .add(int,Object) method for List, thinking that it will work. What part did I miss?

推荐答案

您可以尝试这样的事情:

You can try something like this:

ArrayList arrayList = new ArrayList();
arrayList.add(0);
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.add(4);
arrayList.add(5);
arrayList.add(6);
arrayList.add(7);
System.out.println("Before shuffling, ArrayList contains : " + arrayList);
Object obj = arrayList.remove(7); // remove by index!
Object obj1 = arrayList.remove(2);
Collections.shuffle(arrayList);
arrayList.add(2, obj1);
arrayList.add(7, obj);
System.out.println("After shuffling, ArrayList contains : " + arrayList);

这篇关于Java的:排除洗牌数组索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆