Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用对象数组实现列表_Java_Arrays_Object - Fatal编程技术网

Java 使用对象数组实现列表

Java 使用对象数组实现列表,java,arrays,object,Java,Arrays,Object,我正试图编写一个程序,其中我们有一个温度列表(双倍)和每天(字符串),该列表需要使用一个对象数组来实现 我不明白如何创建带有双精度和字符串的列表,以及如何使用对象数组实现它 到目前为止,这就是我的课程: public class dailyTemperature { //variables double temperature; String day; //getTemp & setTemp methods public double get

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

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

到目前为止,这就是我的课程:

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;
    }



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

// -- 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") 
};

我只是在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);
daytimperature entry1=新的daytimperature(“星期一”,123);
日温度入口2=新的日温度(“星期二”,23);
日温度入口3=新的日温度(“星期三”,50);
List list1=新的ArrayList();
列表1.add(entry1);
列表1.添加(条目2);
列表1.添加(条目3);

希望这有帮助

您有几个可能性:)

坏消息是:

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<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());
}
Map结果=新的HashLinkedMap(1);
结果.put(“1.1”,双值(12,5));
对于(Map.Entry e:result.entrySet())
{
System.out.println(“天”+e.getKey()+“是温度:+e.getValue());
}

希望这会有所帮助。

封装您的两条信息。创建一个封装类型的数组,添加元素。创建一个包含两个fild temperature和day的类。嗨,Sophia,我注意到您可能会从阅读帮助部分中受益。如果你告诉我们你尝试了什么,发布一些片段,试着问一个更集中的问题,我相信有人能帮上忙!检查一下:现在您已经有了
DailyTemperature
类,您需要为它创建一个列表或数组。因为您的指令是用数组实现这一点,所以您可以使用类似于
DailyTemperature[]myList=newdailytemperature[100]的东西来创建所需的内容
,您可以在其中指定实际需要阵列的大小。@DavidWallace我会像通常添加到阵列中那样添加一周中的天数和温度吗?我想我对什么是对象数组和使用对象数组实现列表有点困惑,所以应该实现有效的hasCode方法(请参阅Java文档了解如何使用hashCode),因为如果您将此对象存储到任何内部使用hasCode方法的已排序集合中,您可能会失去一些优势或得到一个异常。@ProtosZetZ
@Data
为我做到了这一点;)对不起,我不知道这个注释。。。之前所以我应该阅读documentation=),就像@RC answerjava.util.List是一个接口一样,所以new List()不起作用。可以是LinkedList或ArrayList,后者在内部使用一个对象数组,这将满足问题的要求。另外,
String
带有大写字母
S
谢谢大家,上面的代码实际上是用C写的,但在Java@Hello_Everyone哦,我没有看到
.Add()
;)请注意,这个问题被标记为java,因此可能需要编辑一下,说明您的答案是c