我一直在努力使这项工作,但我怎么能添加第四个元素 在这个ArrayList“hourCounts”?
public class HourCounts {
private String[] hourCounts = {"One","Two","Three"};
public hourCounts() {
hourCount[3] = new String ("Four") ; // how do I write the code to add a
// new element that says "Four"?
}
public void countHours() {
int hour = 0;
while(hour < hourCounts.length) {
System.out.println(hour + ": " + hourCounts[hour]);
hour++;
}
}
}
答案 0 :(得分:5)
以下使用ArrayList
的示例可以帮助您:
List<String> hourCounts = private List<String> hourCounts
= new ArrayList<>Arrays.asList("One", "Two", "Three"));
public hourCounts() {
hourCount.add(new String ("Four"));
}
ArrayList
是List
最受欢迎的实现之一。 List
与Array
([]
)不同。
数组是固定长度的。 Lists
非常灵活。因此,当您知道要存储的元素数量时,您应该使用数组。 (例如String[]
)。如果您不知道尺寸,或者您知道尺寸会不时变化(通过添加和删除元素),建议您使用List
。
另外,请记住,在Java中,String
不是char[]
。实际上,它们会在某个字段中存储一组字符,但它与C
或Python
不同。
答案 1 :(得分:2)
Java数组具有固定长度(在构造时),您可以复制当前数组以添加另一个元素。像,
private String[] hourCounts = { "One", "Two", "Three" };
public hourCounts()
{
hourCounts = Arrays.copyOf(hourCounts, hourCounts.length + 1);
hourCounts[hourCounts.length - 1] = "Four";
}
但,我想你想要List
喜欢
private List<String> hourCounts = new ArrayList<>(Arrays.asList(
"One", "Two", "Three"));
public hourCounts() {
hourCounts.add("Four");
}
public void countHours() {
int hour = 0;
while (hour < hourCounts.size()) {
System.out.println(hour + ": " + hourCounts.get(hour));
hour++;
}
}
最后,请遵循Java命名约定(并且不要将该类命名为该类中的字段)。