【问题标题】:How to access values stored in ArrayList in Java?如何在 Java 中访问存储在 ArrayList 中的值?
【发布时间】:2014-11-27 23:45:59
【问题描述】:

我是 Java 的新手,到目前为止,我所做的只是绘制一些形状和标志。我正在努力理解我得到的代码。我需要访问存储在另一个类中的 ArrayList 中的值。我不确定我是否有任何意义,所以这里有两个类 Seat 和 Mandate:

package wtf2;

import java.util.*;        

public class Seat {
    public int index;
    public String place;
    public int electorate;
    public String mp;
    public String party;
    public String prev;
    public ArrayList<Mandate> results;

    public Seat(int index, String place) {
        this.place = place.trim();
        this.index = index;
        this.results = new ArrayList<Mandate>();
    }

    public void addMandate(Mandate m) {
        //First candidate is always the MP
        if (mp == null) {
            mp = m.candidate;
            party = m.party;
        }
        results.add(m);
    }

    public String toString() {
        return "[" + this.index + "," + this.place + "]";
    }
}

class Mandate {
    public String candidate;
    public String party;
    public int vote;

    public Mandate(String candidate, String party, int vote) {
        this.candidate = candidate;
        this.party = party;
        this.vote = vote;
    }
}

主类包含将来自 2 个文本文件的数据输入到 Seat 和 Mandate 的代码。从那里我设法访问了 Seat 中的日期。喜欢这里:

//Who is the MP for "Edinburgh South"
public static String qA(List<Seat> uk) {
    for (Seat s : uk)
        if (s.place.startsWith("Edinburgh South"))
            return (s.mp);
    return "Not found";
}

现在,我需要获取投票值,将它们相互比较,取第二大并显示合作党值,而不是只获取爱丁堡南部的 mp。 非常感谢任何帮助,例如如何访问该数组中的数据至少可以帮助我入门。

【问题讨论】:

  • 如果你要求人们阅读你的代码,你应该修正你的缩进。
  • 我建议有两个 Seat 变量,引用迄今为止获得最多票数和第二大票数的 Seat。使用以for(Seat seat:uk) { 或类似名称开头的循环遍历您的List,并在您发现投票值大于已存储投票值的席位时更新这两个变量。
  • 看来您正在查看for-each loop

标签: java arrays eclipse class arraylist


【解决方案1】:

ArrayList 中的元素通过其索引进行访问。 似乎您可以根据列表中对象的vote 值对您的ArrayList 进行排序。 为此,您可能想看这里:Sort ArrayList of custom Objects by property

当然,对于您给定的问题,排序可能太多了。或者,
您可以只遍历列表并选择具有最高
votes 值的两个对象。

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 2017-09-27
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    相关资源
    最近更新 更多