全部 我想合乎邏輯的幫助。我有100行數據庫,並獲得所有行隨機盟友沒有重複我已經使用下面的代碼。獲得隨機沒有範圍之間沒有重複
public ArrayList<Rows> getRows(){
ArrayList<Rows> myRaw=new ArrayList<Rows>();
Cursor rawCursor=this.db.query(DB_TABLE, null, null, null, null, null, null);
if(rawCursor.getCount()>0){
Random rng = new Random();
rawCursor.moveToFirst();
do {
// Ideally just create one instance globally
ArrayList<Rows> generated = new ArrayList<Raws>();
for (int i = 0; i < 371; i++)
{
while(true)
{
Integer next = rng.nextInt(371) + 1;
rawCursor.moveToPosition(next);
Rows raw=new Raws(rawCursor.getInt(rawCursor.getColumnIndex("_id")),rawCursor.getString(rawCursor.getColumnIndex("raw")),rawCursor.getInt(rawCursor.getColumnIndex("fav")));
if (!generated.contains(raw))
{
// Done for this iteration
generated.add(raw);
break;
}
}
}
myRaw=generated;
} while (rawCursor.moveToNext());
rawCursor.close();
}
return myRaw;
}
感謝所有
你的問題是什麼?即你寫的代碼有什麼問題? – dan1111
任何不使用'ORDER BY RANDOM()'的理由? –
@RenatoLochetti:好的我會但是當我提問時,我沒有得到正確的答案,我怎麼能接受它,因爲其他開發人員可能會跟着它。 –