所以我正在创建一个"音乐库",基本上您将"您的歌曲"添加到第一个列表中,然后将您想要的歌曲移动到另一个列表,即播放列表。在播放列表中,我希望能够随机化它,因为我已经有一个用于排序的按钮。
我应该补充一点,我正在使用,DefaultListModel model1 = new DefaultListModel();在编码中。对不起,如果我不太擅长解释自己,我真的不知道如何描述它。
如果您需要按照您所说的方式洗牌list
,有一种方法可以通过Collections
执行此操作:
Collections.shuffle(nameOfYourList);
这将随机重新排列您的列表。
您可以在此处阅读有关此内容的更多信息。
ArrayList<Integer> array = new ArrayList<Integer>;
array.add(1);
array.add(2);
array.add(3);
array.add(4);
array.add(5);
int[] temp = array.size;
for(int i = 0; i < array.size; i++){
int r = (int) (Math.random()*array.length);
temp[r] = array.get(r);
array.remove(r);
}
你可以做一个简单的数组列表。数组列表非常简单。
使用 Random 类在 0 和您的歌曲总数之间随机 int,检查列表中与之相关的插槽是否为空,如果是,则在那里添加您的歌曲,否则重复该过程。像这样浏览所有歌曲,每首歌曲都将被随机分配。例如:
Random r = new Random();
for (Music m : unrandomList) {
while (true) {
int index = r.nextInt(list.size());
if (list.getElementAt(index) != null) {
list.add(index,Music);
break;
}
}
}