这个程序需要多个ArrayLists吗?

时间:2017-05-06 01:03:12

标签: java arraylist ranking

我必须制作一个程序,读取收藏夹的文件,例如最喜欢的动物。所以说它在一个文件中读到" Dog,Cat,Fox",每行1。然后将它们放入Arraylist中。在提示用户添加或删除任何用户之后,他们会被要求对它们进行排名。在我困惑的地方 - 为了重新排序/排列arraylist的行,我需要第二个ArrayList来排名吗?此外,在排名后,他们会被要求为每一个添加评论,例如猫 - "我对猫过敏"或类似的东西。这些评论需要第三个数组列表吗?下面是样本输出 -

'最喜欢'|排名|本轮评论(以及之前的所有评论)

如果你想知道我要去哪里,那么现在就是我的代码 - 它没有全部工作但是你会得到它的要点

exist

2 个答案:

答案 0 :(得分:1)

很可能,您应该使用class AnimalString name等字段撰写一个小String comment,然后拥有ArrayList<Animal>

答案 1 :(得分:0)

如果您熟悉面向对象的OO,那么建议使用类来封装您拥有的数据结构,我写了一个简单的例子,希望它能帮助您解决问题:

动物类

package com.stackoverflow.q1;

import java.util.ArrayList;
import java.util.List;

public class Animal {

private String name;
private Integer rank;
private List<String> comments=new ArrayList<String>();

public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public Integer getRank() {
    return rank;
}
public void setRank(Integer rank) {
    this.rank = rank;
}
public List<String> getComments() {
    return comments;
}
public void setComments(List<String> comments) {
    this.comments = comments;
}
@Override
public String toString() {
    return "Animal [name=" + name + ", rank=" + rank + ", comments="
            + comments + "]";
}
}

主要课程

package com.stackoverflow.q1;

import java.util.ArrayList;
import java.util.List;

public class Main {

public static void main(String[] args) {

    List<Animal> animals= new ArrayList<Animal>();

    Animal dog=new Animal();
    dog.setName("dog");
    dog.setRank(1);
    dog.getComments().add("Comment 1");

    Animal horse=new Animal();
    horse.setName("horse");
    horse.setRank(2);
    horse.getComments().add("Comment 1");


    Animal cow=new Animal();
    cow.setName("cow");
    cow.setRank(1);
    cow.getComments().add("Comment 1");

    animals.add(dog);
    animals.add(horse);
    animals.add(cow);


    for(Animal animal:animals){
        System.out.println(animal);
    }

}

}