2016-07-02 19 views
-6
import java.util.ArrayList; 

public class ArrivalsList extends ArrayList<Integer> { 

    public int first() { 
     return this.get(0); 
    } 

    public int last() { 
     return this.get(this.size() - 1); 
    } 

} 

Ist dies eine gute Möglichkeit zum Erstellen einer benutzerdefinierten Liste? Oder gibt es einen anderen, besseren Weg, dies zu tun?Benutzerdefinierte Liste in Java

+0

Verwenden Sie die zur Verfügung gestellte: siehe https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html#getFirst-- –

+2

Nein. Erweiterung von ArrayList ist keine gute Idee, und Sie sollten [Schnittstellen anstelle von konkreten Implementierungen programmieren] (http://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an-interface). Schreiben Sie Ihre statische Hilfsmethode, um das erste/letzte Element einer Liste zu erhalten, wenn Sie feststellen, dass get() so schwierig ist. Oder erstellen Sie Ihre eigene Klasse ** mit ** einer Liste, anstatt sie zu erweitern. –

+0

Liste und benutzerdefinierte Liste könnte so verwirrt Frage richtig zu stellen – Vickyexpert

Antwort

0

Ich verstehe nicht so gut, was meinst du mit "benutzerdefinierte Liste".

Aber in Ihrem Code scheint es, dass Sie nur die erste und die letzte Ganzzahl aus der Liste abrufen möchten. Wenn Sie nur diese beiden Vorgänge ausführen möchten, wäre eine Warteschlange im Hinblick auf die Leistung besser als eine ArrayList.

Offensichtlich, wenn Sie mit einer begrenzten Anzahl von Daten zu tun haben, sind die Lösungen praktisch gleichwertig.

+0

Ich werde es für mehr Operationen verwenden. Ich habe mich nur gefragt, ob das ein guter Weg ist. Ich entwickle eine App für die Abholung von Busankünften in meiner Stadt und ich wollte, dass sie die erste und letzte Ankunft für jetzt erhält. Danke :) – Programmer