java.util.Collection mit dem niedrigsten Overhead?

8

Ich rufe eine Methode in einer anderen API auf, die ein java.util.Collection von Objekten akzeptiert. Ich habe mir die Methode angeschaut und kopiert sofort alles in der Sammlung in ein neues ArrayList , bevor sie ihre Aufgabe ausführt.

Das hat mich neugierig gemacht: Was ist die absolut niedrigste Overhead-Java-Sammlung, mit der ich schnell Parameter für diese Methode zusammenstellen kann?

    
Andy 15.02.2011, 14:48
quelle

3 Antworten

6
___ antwort5005119 ___

Das hängt davon ab, wie es die Elemente kopiert, aber wenn es die ArrayList -copy wie folgt erzeugt

%Vor%

oder wenn es

tut %Vor%

dann wird es durch die inputCollection.toArray() gehen, die wahrscheinlich am besten von ArrayList implementiert wird.

    
___ antwort5007381 ___

Es hängt von Ihren Quelldaten ab.

Wenn Ihre Quelldaten bereits ein Array sind und das Array nicht von anderen verwendet wird, ist der schnellste Weg ein dünner Wrapper:

%Vor%     
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ qstntxt ___

Ich rufe eine Methode in einer anderen API auf, die ein %code% von Objekten akzeptiert. Ich habe mir die Methode angeschaut und kopiert sofort alles in der Sammlung in ein neues %code% , bevor sie ihre Aufgabe ausführt.

Das hat mich neugierig gemacht: Was ist die absolut niedrigste Overhead-Java-Sammlung, mit der ich schnell Parameter für diese Methode zusammenstellen kann?

    
___ tag123collections ___ Auflistungs-APIs stellen Entwicklern eine Reihe von Klassen und Schnittstellen zur Verfügung, mit denen die Sammlung von Objekten vereinfacht wird. ___ qstnhdr ___ java.util.Collection mit dem niedrigsten Overhead? ___ answer5007893 ___

Wenn Sie über den Speicherbedarf sprechen, werfen Sie einen Blick auf diese Tabelle in Gedächtnismesser . %code% fehlt, könnte aber eine gute Alternative zu %code% ( %code% ) sein.

    
___ tag123overhead ___ Overhead ist eine beliebige Kombination aus überschüssiger oder indirekter Berechnungszeit, Speicher, Bandbreite oder anderen Ressourcen, die erforderlich sind, um ein bestimmtes Ziel zu erreichen. ___
aioobe 15.02.2011, 14:51
quelle
0
___ antwort5005119 ___

Das hängt davon ab, wie es die Elemente kopiert, aber wenn es die %code% -copy wie folgt erzeugt

%Vor%

oder wenn es

tut %Vor%

dann wird es durch die %code% gehen, die wahrscheinlich am besten von %code% implementiert wird.

    
___ antwort5007381 ___

Es hängt von Ihren Quelldaten ab.

Wenn Ihre Quelldaten bereits ein Array sind und das Array nicht von anderen verwendet wird, ist der schnellste Weg ein dünner Wrapper:

%Vor%     
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ qstntxt ___

Ich rufe eine Methode in einer anderen API auf, die ein %code% von Objekten akzeptiert. Ich habe mir die Methode angeschaut und kopiert sofort alles in der Sammlung in ein neues %code% , bevor sie ihre Aufgabe ausführt.

Das hat mich neugierig gemacht: Was ist die absolut niedrigste Overhead-Java-Sammlung, mit der ich schnell Parameter für diese Methode zusammenstellen kann?

    
___ tag123collections ___ Auflistungs-APIs stellen Entwicklern eine Reihe von Klassen und Schnittstellen zur Verfügung, mit denen die Sammlung von Objekten vereinfacht wird. ___ qstnhdr ___ java.util.Collection mit dem niedrigsten Overhead? ___ answer5007893 ___

Wenn Sie über den Speicherbedarf sprechen, werfen Sie einen Blick auf diese Tabelle in Gedächtnismesser . %code% fehlt, könnte aber eine gute Alternative zu %code% ( %code% ) sein.

    
___ tag123overhead ___ Overhead ist eine beliebige Kombination aus überschüssiger oder indirekter Berechnungszeit, Speicher, Bandbreite oder anderen Ressourcen, die erforderlich sind, um ein bestimmtes Ziel zu erreichen. ___
irreputable 15.02.2011 17:50
quelle
0

Wenn Sie über den Speicherbedarf sprechen, werfen Sie einen Blick auf diese Tabelle in Gedächtnismesser . Arrays$ArrayList fehlt, könnte aber eine gute Alternative zu ArrayList ( Arrays.asList(...) ) sein.

    
superfav 15.02.2011 18:32
quelle

Tags und Links