Java 更改类以创建列表

Java 更改类以创建列表,java,Java,我需要更新我的Country类,以便它能够存储语言列表,我还需要一个列表字段、一个getter和一个允许我向集合中添加语言的方法。说到编程,我是个新手。这就是我目前所拥有的 public class Country { private int id; private String name; private long population; private double medianAge; private List

我需要更新我的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;
        }
}
公共类国家{
私有int-id;
私有字符串名称;
私人长期人口;
私有双介质;
私人名单语言;
列表=新的ArrayList();
/**
*创建具有给定属性的国家/地区对象
*/
公共国家/地区(整数id、字符串名称、长填充、双介质){
this.id=id;
this.name=名称;
这个。人口=人口;
this.medianAge=medianAge;
}
公共int getId(){
返回id;
}
公共字符串getName(){
返回名称;
}
公共长期人口(){
返回人口;
}
公共双getMedianAge(){
返回medianAge;
}
}

您需要一个getter方法来访问以下语言

getLanguages(){
    return this.languages;
}
以及一种将一种语言广告到现有列表的方法

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

您可以删除成员
列表
-看不到您拥有它的原因

您可以是:

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 List<String> getLanguages() {
    return languages;
}
public List getLanguages(){
返回语言;
}

关于
ArrayList
的工作原理

您的意思是要为语言添加初始值设定项吗?可以使用list.add()方法

公共类国家{
私有int-id;
私有字符串名称;
私人长期人口;
私有双介质;
私有ArrayList语言=新ArrayList();
公共国家(整数id、字符串名称、长填充、双介质字符串语言){
this.id=id;
this.name=名称;
这个。人口=人口;
this.medianAge=medianAge;
this.languages.add(语言);
}
公共int getId(){
返回id;
}
公共字符串getName(){
返回名称;
}
公共长期人口(){
返回人口;
}
公共双getMedianAge(){
返回medianAge;
}
}

非常简单,创建一个getter和两个add方法,一个用于添加一种语言,另一个add方法用于将语言列表添加到现有语言列表中

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);
        }
}
import java.util.ArrayList;
导入java.util.List;
公营国家{
私有int-id;
私有字符串名称;
私人长期人口;
私有双介质;
私人名单语言;
列表=新的ArrayList();
/**
*创建具有给定属性的国家/地区对象
*/
公共国家/地区(整数id、字符串名称、长填充、双介质){
this.id=id;
this.name=名称;
这个。人口=人口;
this.medianAge=medianAge;
}
公共int getId(){
返回id;
}
公共字符串getName(){
返回名称;
}
公共长期人口(){
返回人口;
}
公共双getMedianAge(){
返回medianAge;
}
公共列表getLanguages(){
返回语言;
}
公共语言(字符串语言){
this.languages.add(语言);
}
公共语言(列表语言){
this.languages.addAll(语言);
}
}

问题是什么?如何更新我的Country类以便它可以存储语言列表,我还需要一个列表字段、一个getter和一个允许我向集合中添加语言的方法。我同意,成员“list”,它是使用list list=new ArrayList()定义的;没用。您可能应该删除它。如果它是一个集合,这也会起作用吗?原因一个国家可以有多种语言。列表是一个集合。检查我提到的链接,以及
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;
   }
}
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);
        }
}