有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java自定义arraylist<mygames>获得不同

有没有办法获取自定义arraylist的不同值

public class mystatistic extends BaseActivity {
    public String objectid;
    public String playerid;
    public String playername;
    public String enemyid;
    public String enemyname;
    public String question;


    public mystatistik(String objectid, String playerid, String playername, String enemyid, String enemyname, String question) {
        this.objectid = objectid;
        this.playerid= playerid;
        this.playername= playername;
        this.enemyid= enemyid;
        this.enemyname= enemyname;
        this.question= question;
    }

添加到arraylist

mystatistic mystatistic2 = new mystatistik(objectid,playerid, playername, enemyid, enemyname,question);
mystatisticslist.add(mystatistic2);

现在我想从我的arraylist“mystatisticslist”中获取所有独特的“enemyid”。这可能吗? 谢谢


共 (1) 个答案

  1. # 1 楼答案

    仅使用ArrayList是不可能做到这一点的。 或者实现您自己的方法,其简单程度如下:

    private List<mystatistik> getAllUniqueEnemies(List<mystatistik> list){
        List<mystatistik> uniqueList = new ArrayList<mystatistik>();
        List<String> enemyIds = new ArrayList<String>();
        for (mystatistik entry : list){
            if (!enemyIds.contains(entry.getEnemyId())){
                enemyIds.add(entry.getEnemyId());
                uniqueList.add(entry);
            }
        }
        return uniqueList;
    }
    

    或者使用一个HashMap<String, List<mystatistik>>,其中eneyId是键,mystatistik(具有相同的enemyId)的列表作为值。 如果你想得到一个独特敌人的列表,只需在地图的键集上循环,获取值并获取列表的第一个元素

    希望这就是你想要的