Letzter element aus einem Array

kiesa747

Mitglied
Hey,

wie kriege ich den letzten/ersten element aus meiner array liste heraus ?

kleines Beispiel :

Java:
	public void getColumns(String username, String password, String database, String table){
        String columnName;
        String[] columnsArray = null;
        columnSelection = new OptionGroup("Select your Column(s)");
        columnSelection.setImmediate(true);
        columnSelection.setMultiSelect(true);
		try {
			Class.forName("org.postgresql.Driver");
			String url = "jdbc:postgresql://localhost:5432/"+database;
			connection = DriverManager.getConnection(url, username, password);
			
			DatabaseMetaData dbmd = connection.getMetaData();
			
			ResultSet rs = dbmd.getColumns(null, null, table, null);
				while (rs.next()) {
					colummName = rs.getString("COLUMN_NAME");
					columnSelection.addItem(colummName);
// Mein Array wird mit den meta daten einer tabelle befüllt (ColumnName)
					columnsArray = new String[]{columnName};
			}
		} catch (SQLException e) {
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		if(connection!=null){
			columnList.addComponent(columnSelection);
			columnSelection.select(columnsArray[columnsArray.length-1]);
			columnsPanel.addComponent(okColumn);
		} else {
			window.showNotification("Cannot connect to the Database",Notification.TYPE_WARNING_MESSAGE);
		}
	}

am ende kommt eine variable anzahl von checkboxen heraus ich will das die erste checkbox ausgewählt(selected/checked) wird bzw. die checkbox ausgewählt(selected/checked) wird die zuerst in die Liste reinkommt.

habs mit
Java:
	columnSelection.select(columnsArray[columnsArray.length-1]);
probiert , es wird die letzte checkbox selected habs auch mit
Java:
columnSelection.select(columnsArray[0]);
probiert kommt das selbe raus
 
Hinweis:
gib die Länge von columnsArray aus, gib alle Elemente einzeln aus,
gib das ganze auch während der Schleife in jedem Durchaus aus,
also beobachte, wie das Array 'nach und nach befüllt wird' oder wie immer dieser Vorgang bei dir zu benennen ist

Logging und Debugging verraten dir immer was passiert,
nichts nachzuschauen und nur das Ergebnis nicht zu verstehen ist allgemein schlechte Taktik

> die länge ist variabel kann 100 sein aber auch 5

soso, geprüft oder behauptet?
 
[JAVA=19]columnsArray = new String[]{columnName};[/code]

Damit weist du der Variablen "columnsArray" immer ein neues Array mit nur einem Element zu ("columnName").
Du müsstest vorher wissen wie viele Spalten es gibt und dann entsprechend das Array vor der while-Schleife
anlegen. Ungefähr so:

Java:
int size = 42;  
String[] columnsArray = new String[size];

Ob man direkt aus dem ResultSet die Anzahl der Spalten erhalten kann, weiss ich grad nicht.
Musste mal in die Api gucken.
 

Zurück
Oben