Shuffle DefaultListModel

时间:2013-06-12 11:42:50

标签: java swing collections jlist defaultlistmodel

除了在单独的DefaultListModel中复制所有元素之外,是否有最快捷的方式来重新排列arraylist的项目,我正在使用下面的代码,但它给了我{{1} }:

java.lang.ClassCastException

任何建议

1 个答案:

答案 0 :(得分:0)

不完全确定指数但是是这样的:

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));
    }
}