ArrayList<Integer> initgenome = new ArrayList<>(5000);
initgenome.addAll(Collections.nCopies(10, 1));
initgenome.addAll(Collections.nCopies(4990, 0));
ArrayList<Integer> genometwo = new ArrayList<>(5000);
genometwo.addAll(Collections.nCopies(10, 2));
genometwo.addAll(Collections.nCopies(4990, 0));
ArrayList<Integer> genomethree = new ArrayList<>(5000);
genomethree.addAll(Collections.nCopies(10, 3));
genomethree.addAll(Collections.nCopies(4990, 0));
ArrayList<Integer> genomefour = new ArrayList<>(5000);
genomefour.addAll(Collections.nCopies(10, 4));
genomefour.addAll(Collections.nCopies(4990, 0));
我正在使用Java在Eclipse中完成一个项目,并且我的对象在初始化时随机选择其中一个基因组。我很好奇是否有任何方法为每个arraylist设置一个颜色,以便你可以直观地看到被挑选的基因组?谢谢!
答案 0 :(得分:3)
添加映射(Map
):
Map<ArrayList<Integer>, String> genomesToColors = new HashMap<>();
genomesToColors.add(initgenome, "red");
genomesToColors.add(genometwo, "blue");
genomesToColors.add(genomethree, "green");
genomesToColors.add(genomefour, "purple");
然后,您选择了ArrayList
:
ArrayList<Integer> genome = // however you do it.
String color = genomesToColors.get(genome);
由于您对基因组的想法变得越来越复杂,您可能想要创建一个Genome
类。您可以为其指定sequence
属性和color
属性。
public class Genome {
public List<Integer> sequence = new ArrayList<Integer>();
public String color;
// Getters, setters, whatever you want.
}
编辑:由于您的基因组可能会发生变异,我建议您使用基于类的解决方案。它更容易扩展,并利用OOP。