Я полный новичок на Java, и до сих пор все, что я делал, это рисовать фигуры и флаги. Я изо всех сил пытаюсь понять код, который мне дал. Мне нужно получить доступ к значениям, хранящимся в ArrayList, в другом классе. Я не уверен, что я никакого смысла, поэтому здесь находятся два класса Седло и Мандат:Как получить доступ к значениям, хранящимся в ArrayList в Java?
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. Как здесь:
//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";
}
Теперь, вместо того, чтобы просто Тпли для Эдинбургского South Мне нужно получить значение голосования, сравнить их друг с другом, возьмите второй по величине и отобразить значение ассоциированной партии. Поблагодарили бы за любую помощь, например, как получить доступ к данным из этого массива, чтобы помочь мне начать хотя бы.
Вы должны исправить свой отступ, если вы просите людей прочитать ваш код. – khelwood
Я бы порекомендовал иметь две переменные 'Seat', ссылаясь на« Seat »с самым большим голосованием до сих пор и со вторым по величине голосованием. Итерации через ваш «Список», используя цикл, который начинается с 'for (Seat seat: uk) {' или что-то подобное, и обновляйте эти две переменные, когда вы находите места с большими значениями голосов, чем те, которые уже сохранены. –
Кажется, вы смотрите на цикл '' for-each' (http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html). –