2015-05-06 4 views
1

Мне нужно обновить мой класс Country, чтобы он мог хранить список языков, мне также нужно поле для списка, getter и метод, который позволяет мне добавить язык к Коллекция. Я очень зелёный, когда дело доходит до программирования. Это то, что у меня есть до сих пор.Изменение класса для создания списка

public class Country { 
     private int id; 
     private String name; 
     private long population; 
     private double medianAge; 
     private List<String> languages; 

    List<String> list = new ArrayList<>(); 


     /** 
     * Create a Country object with the given properties 
     */ 
     public Country(int id, String name, long population, double medianAge) { 
      this.id = id; 
      this.name = name; 
      this.population = population; 
      this.medianAge = medianAge; 

     } 

     public int getId() { 
      return id; 
     } 

     public String getName() { 
      return name; 
     } 

     public long getPopulation() { 
      return population; 
     } 

     public double getMedianAge() { 
      return medianAge; 
     } 
} 
+0

В чем вопрос? – kaykay

+0

Как обновить мой класс Country, чтобы он мог хранить список языков, мне также нужно поле для списка, getter и метод, который позволяет мне добавить язык в коллекцию. – Tenso

ответ

0

Вы можете удалить участника list - не вижу причин для вас, чтобы иметь его.

Вы конструктор может быть:

public Country(int id, String name, long population, double medianAge) { 
     this.id = id; 
     this.name = name; 
     this.population = population; 
     this.medianAge = medianAge; 
     this.languages = new ArrayList<>(); 
    } 

Тогда вы можете иметь метод, чтобы добавить язык в список:

public void addLanguage (String language) { 
    languages.add(language); 
} 

Наконец способ, чтобы вернуть список языков, как указано ниже:

public List<String> getLanguages() { 
    return languages; 
} 

More information о том, как работает ArrayList

+0

Согласен, член «список», который был определен с помощью списка list = new ArrayList <>(); бесполезно. Вероятно, вы должны удалить его. –

+0

Будет ли это работать, если это коллекция? Потому что страна может иметь более одного языка. – Tenso

+0

Список - это коллекция. Проверьте ссылку, о которой я упоминал, а также документацию [Список] (https://docs.oracle.com/javase/8/docs/api/java/util/List.html) – kaykay

0

Вам нужен метод получения доступа к различным секциям, как показано ниже

getLanguages(){ 
    return this.languages; 
} 

И метод, который объявление один язык к существующему списку.

addLanguageToList(String language){ 
    this.getLanguages().add(language); 
} 
0

Вы хотите добавить инициализатор для языков? Вы можете использовать метод list.add().

public class Country{ 
    private int id; 
    private String name; 
    private long population; 
    private double medianAge; 
    private ArrayList<String> languages = new ArrayList<String>(); 

    public Country(int id, String name, long population, double medianAge String language) { 
     this.id = id; 
     this.name = name; 
     this.population = population; 
     this.medianAge = medianAge; 
     this.languages.add(laguage); 

    } 

    public int getId() { 
     return id; 
    } 

    public String getName() { 
     return name; 
    } 

    public long getPopulation() { 
     return population; 
    } 

    public double getMedianAge() { 
     return medianAge; 
    } 
} 
0

Его очень просто, создать геттер и два способа добавления, один для добавления одного языка и другой метода добавления для добавления списка языка на существующий список языков.

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

public class Country { 
     private int id; 
     private String name; 
     private long population; 
     private double medianAge; 
     private List<String> languages; 

    List<String> list = new ArrayList<>(); 


     /** 
     * Create a Country object with the given properties 
     */ 
     public Country(int id, String name, long population, double medianAge) { 
      this.id = id; 
      this.name = name; 
      this.population = population; 
      this.medianAge = medianAge; 

     } 

     public int getId() { 
      return id; 
     } 

     public String getName() { 
      return name; 
     } 

     public long getPopulation() { 
      return population; 
     } 

     public double getMedianAge() { 
      return medianAge; 
     } 

     public List<String> getLanguages() { 
      return languages; 
     } 

     public void addLanguage(String language) { 
      this.languages.add(language); 
     } 
     public void addLanguages(List<String> languages) { 
      this.languages.addAll(languages); 
     } 
} 
Смежные вопросы