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