2016-07-25 6 views
0

Ich habe ein Problem, das erfordert, dass ich ein Array erstelle, das den Namen einer Datei und dann ihren Inhalt speichert. Ich habe versucht, dies zu verwenden, um ein Array ArrayList<String, String> fileContent = new ArrayList<String, String>(); zu erstellen, aber es ruft einen Fehler auf, dass es eine falsche Anzahl von Argumenten gibt. Was ist der beste Weg, um dieses Problem zu umgehen?Verwenden von etwas anderem als einer ArrayList

Wäre es besser, zwei Arrays zu erstellen, eines, das die Namen speichert, und eines, das die Daten in der Datei speichert. Oder gibt es eine andere eingebaute Sache innerhalb von Java, die besser zu verwenden wäre?

+1

Haben Sie den Javadoc für 'ArrayList' gelesen? – Robert

+0

Ein Array ist nicht dasselbe wie eine 'ArrayList'. –

+0

Was soll 'ArrayList 'bedeuten? – immibis

Antwort

3

erstellen Sie eine benutzerdefinierte Klasse

class MyClass{ 
    String filename; 
    String content; 

} 
// use methods as you want 

dann für Array-Liste verwenden MyClass

ArrayList<MyClass> fileContent = new ArrayList<MyClass>(); 
0

eine Klasse erstellen, speichert, was Sie wollen, wie folgt aus:

class Contents { 
    String fileName; 
    ArrayList<String> fileContent; 

public Contents(String fileName){ 
    this.fileName = fileName; 
    fileContent = new ArrayList<String>; 
} 
//Any Methods you need 
} 

und erstellen ein ArrayList wie folgt:

ArrayList<Contents> = new ArrayList<Contents>; 

Auf diese Weise können Sie den Dateinamen und seinen Inhalt speichern.

Der Fehler, den Sie bekommen, ist, weil eine ArrayList nur eine Klasse enthalten kann, wie String oder in diesem Beispiel Contents.

1

Wenn Sie die Eigenschaften, die Sie speichern möchten, erhöhen, ist die Antwort von @while true die richtige. Wenn Sie nur den Namen und die Datei speichern möchten, können Sie eine HashMap wie folgt erstellen.

HashMap<String, File> myMap = new HashMap<String, File>(); 

Und einfügen Elemente wie folgt aus:

myMap.put("filename",myFile); 

Hoffe, es hilft.