Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.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 ArrayList<;整数>;。拳击表演?_Java_Performance_Arraylist - Fatal编程技术网

Java ArrayList<;整数>;。拳击表演?

Java ArrayList<;整数>;。拳击表演?,java,performance,arraylist,Java,Performance,Arraylist,我正在编写一个将处理大量数据的应用程序,我需要一个ArrayList功能。我想重写ArrayList类,以便使用int类型,而不是Integer类。这将在多大程度上提高性能?不要重新发明轮子 这是很久以前做的:) 它工作得很好 不要重新发明轮子 这是很久以前做的:) 它工作得很好 ArrayList arlist=new ArrayList(); int ar1[]={1,2,3}; arlist.add(0,ar1); 这难道不合理吗?ArrayList arlist=new Array

我正在编写一个将处理大量数据的应用程序,我需要一个
ArrayList
功能。我想重写
ArrayList
类,以便使用
int
类型,而不是
Integer
类。这将在多大程度上提高性能?

不要重新发明轮子

这是很久以前做的:)

它工作得很好


不要重新发明轮子

这是很久以前做的:)

它工作得很好

ArrayList arlist=new ArrayList();
int ar1[]={1,2,3};
arlist.add(0,ar1);
这难道不合理吗?

ArrayList arlist=new ArrayList();
int ar1[]={1,2,3};
arlist.add(0,ar1);

这不合理吗?

你不需要这样做。见@dantuch的答案

我只想指出使用专门的“list of
int
”类的问题

  • 该类不能与标准集合类和接口的API兼容。如果试图使用需要
    集合
    列表
    的其他API,则专用类不能与之一起使用

  • 您将无法在各种“基元列表”类型中使用多态性


    • 您不需要这样做。见@dantuch的答案

      我只想指出使用专门的“list of
      int
      ”类的问题

      • 该类不能与标准集合类和接口的API兼容。如果试图使用需要
        集合
        列表
        的其他API,则专用类不能与之一起使用

      • 您将无法在各种“基元列表”类型中使用多态性


      它会有所改进,因为没有GC只支持本机。不知道,但您可能可以相当快地重写该类并对其进行测试。(很可能只需进行几次搜索并替换和删除泛型)这完全取决于如何使用
      ArrayList
      。此外,已经有了“原始”集合的实现,例如fastutil。可能的重复项请在发布之前尽可能少做工作。只需通过谷歌搜索“java自动装箱性能”就可以获得大量信息。由于没有GC,它会有所改进。不知道,但您可能可以相当快地重写该类并对其进行测试。(很可能只需进行几次搜索并替换和删除泛型)这完全取决于如何使用
      ArrayList
      。此外,已经有了“原始”集合的实现,例如fastutil。可能的重复项请在发布之前尽可能少做工作。谷歌搜索“java autoboxing performance”会给你很多信息。不是真的:-)这在功能上不等同于整数列表。不是真的:-)这在功能上不等同于整数列表。没问题,我自己使用Trove也是出于同样的原因-大量数据需要存储在内存中。没问题,我自己使用Trove也是出于同样的原因——大量的数据需要存储在内存中。
      ArrayList<int[]> arlist=new ArrayList<int[]>();
      int ar1[]={1,2,3};
      arlist.add(0,ar1);