使用对象数组实现列表

时间:2013-10-03 19:29:09

标签: java arrays object

我正在尝试编写一个程序,其中我们有一个温度列表(Double)和每天(字符串),该列表需要使用一组对象来实现。

我不明白如何创建包含双精度和字符串的列表,以及如何使用对象数组实现它。

到目前为止,这就是我对我的程序所拥有的:

public class dailyTemperature 
{

    //variables
    double temperature;
    String day;

    //getTemp & setTemp methods
    public double getTemp()
    {
      return temperature;
    }

    public void setTemp(double newTemp)
    {
      temperature = newTemp;
    }

    //getDay & setTEmp methods
    public String getDay()
    {
      return day;
    }

    public void setDay(String newDay)
    {
      day = newDay;
    }



}

但是,如何创建包含双精度和字符串的列表以及如何使用对象数组实现列表?我不知道该怎么做。

3 个答案:

答案 0 :(得分:3)

// -- if you use lombok: ---
// @Data
// @AllArgsConstructor
// -------------------------
public class TempOfTheDay {
    private double temp;

    private String day; // I would use and int (see Calendar.MONDAY etc)

    // ctors, getters, setters, ... (if you don't use lombok :p)
}

并将其放入数组中:

final TempOfTheDay[] myArray = new TempOfTheDay[]{ 
    new TempOfTheDay(127.0, "monday") 
};

答案 1 :(得分:0)

我在C#中做了类似的事情。在这里,它被翻译成Java。

您可以创建一个包含每个条目信息的类,例如:

    public class DayTemperature       
    {
            private String day;
            private int temp;

            public DayTemperature(String day, int temp)
            {
                this.day = day;
                this.temp = temp;
            }
    }

然后在你的程序中你可以实例化这个类,给它们一些值,然后把对象放到一个列表中:

    DayTemperature  entry1 = new DayTemperature ("Monday", 123);
    DayTemperature  entry2 = new DayTemperature ("Tuesday", 23);
    DayTemperature  entry3 = new DayTemperature ("Wednesday", 50);

    List<DayTemperature> list1 = new ArrayList<DayTemperature>();
    list1.add(entry1);
    list1.add(entry2);
    list1.add(entry3);

希望这有帮助

答案 2 :(得分:0)

你有几个职位:)

坏人:

Object[] result = new Object[1];
result[0] = new Object[]{"1.1", Double.valueOf(15,3)};

System.out.println("Day " + result[0][0] + " was temperature: " + result[0][1]);

更好的一个:

class DayTemperature
{
  final Strting date;
  final Double temperature;
  DayTemperature(String aDate, Double aTemperature)
  {
     date = sDate;
     temperature = aTemperature;
  }
  String getDate() { return date;}
  Double getTemperature() { return temperature;}
}

final DayTemperature[] result = new DayTemperature[1]; 
result[0] = new DayTemperature("1.1", Double.valueOf(12.5));

System.out.println("Day " + result[0].getDate() + " was temperature: " + result[0].getTemperature());

我建议您使用Map:

Map<String, Double> result = new HashLinkedMap<String, Double>(1);
result.put("1.1", Double.valueOf(12,5));

for(Map.Entry<String, Double> e : result.entrySet())
{
  System.out.println("Day " + e.getKey() + " was temperature: " + e.getValue());
}

希望这会有所帮助。