好的,我有这个
public static List<DataValue> result = new LinkedList<>();
public static class DataValue {
protected final String first;
protected final int second;
public DataValue(String first, int second) {
this.first = first;
this.second = second;
}
}
添加到列表...
String first = "bob";
int second = "50";
result.add(new DataValue(first, second));
我正在尝试从数据中抓取一个随机字段,显示它,然后将其从列表中删除,以便它不会再次使用
我将如何做到这一点?
我目前试图抓住数据的尝试并不是很顺利
System.out.println(“First:”+ DataValue.result.getFirst());
并尝试过 System.out.println(“First:”+ result.getFirst(DataValue));
我不确定如何抓住它,找不到任何关于它的文章,感谢任何帮助
如果发生任何差异,LinkedList中大约有5000个条目
答案 0 :(得分:1)
我不太清楚你的问题,但你可以尝试这样的事情
Random randomGenerator;
int randomIndex = randomGenerator.nextInt( result.size() );
DataValue dataValue = result.get( randomIndex );
//... Show the fields ...
result.remove( randomIndex );`
答案 1 :(得分:0)
这个怎么样?
import java.util.LinkedList;
import java.util.List;
public class MyClass {
public static List<DataValue> result = new LinkedList<DataValue>();
public static class DataValue {
protected final String first;
protected final int second;
public DataValue(String first, int second) {
this.first = first;
this.second = second;
}
@Override
public String toString(){
return first + " " + second;
}
}
public static void removeAndPrintRandom(){
int index = (int)(Math.random() * result.size());
System.out.println(result.remove(index));
}
}
我刚刚向您展示了这样做的更好方法。您可以根据自己的要求进行编辑和制作。