Shuffle DefaultListModel



是否有最快的方法来洗牌DefaultListModel的项目,而不是复制单独的arraylist中的所有元素,我使用下面的代码,但它给了我一个java.lang.ClassCastException:

....
private DefaultListModel<String> listModel = new DefaultListModel<String>();
...
Collections.shuffle((List<?>) listModel, new java.util.Random(seed));
...
任何建议

不完全确定索引但是像这样:

private DefaultListModel<String> listModel = new DefaultListModel<String>();
...
static void shuffle(DefaultListModel<String> mdl){
    for(int i=0;i<mdl.size();i++){
        int swapWith = (int)(Math.random()*(mdl.size()-i))+i;
        if(swapWith==i) continue;
        mdl.add(i, mdl.remove(swapWith));
        mdl.add(swapWith, mdl.remove(i+1));
    }
}

相关内容

  • 没有找到相关文章

最新更新