为ArrayList指定一种颜色

时间:2016-12-12 20:03:04

标签: java arraylist colors

    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设置一个颜色,以便你可以直观地看到被挑选的基因组?谢谢!

1 个答案:

答案 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。