Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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_List_Arraylist_Containers - Fatal编程技术网

Java容器-更有效地添加对象以及如何使用标识符返回

Java容器-更有效地添加对象以及如何使用标识符返回,java,list,arraylist,containers,Java,List,Arraylist,Containers,代码附在最后 这是我第一次尝试java通用容器。我需要收集Product.Java类中的对象,它是一个随机类。它还有几个扩展产品类的其他类。我已经使用ArrayList将它们添加到一个名为product的容器中,但我怀疑它是否有效。我也不知道如何调用cheese实例。有没有一种方法可以为所有实例分配一个标识符 import java.util.*; public class GenericOrder { public static void main(String[] args) {

代码附在最后

这是我第一次尝试java通用容器。我需要收集Product.Java类中的对象,它是一个随机类。它还有几个扩展产品类的其他类。我已经使用ArrayList将它们添加到一个名为product的容器中,但我怀疑它是否有效。我也不知道如何调用cheese实例。有没有一种方法可以为所有实例分配一个标识符

import java.util.*;

public class GenericOrder {

  public static void main(String[] args) {

    ArrayList<Product> product = new ArrayList<Product>();
    product.add(new Fruit(123));
    product.add(new ComputerPart(65));
    product.add(new Cheese(123));
    product.add(new Service(65));
    product.add(new Peripheral  (123));

    System.out.println(product);
  }
}

你的问题我什么都不懂。为什么这样做没有效率?你是怎么得出这个结论的?@jbnize我很抱歉说不清楚,英语是我的第三语言我认为这是没有效率的,因为我在书中看到过一些例子,我可以通过说Product.addnew First,new Cheese,…,来添加Product.java中所述对象的所有实例,。。。因为我必须在单独的调用中这样做。阅读列表的javadoc。不,没有这样的方法。所以这意味着我将不得不一个接一个地添加它们。有没有一种方法可以将标识符添加到其中的每一个中?您可以使用Arrays.asList和List.addAll使其成为一个单独的add,但这不会更有效。