Vector zerlegung

mhh..

jetz kommt raus

aha, hhhaa, muha
lala, kdfif
ja, lila, lulu, ka

ausgabe mit deinem code..(es wird aber, ich versteh nicht, wieso kein weiterer buchstabe kommt..sehr suspekt)

a, ,
l,
ja, , ,
 
Schau mal hier
Java:
import java.util.ArrayList;
import java.util.List;

public class StringSplitExample {

	public static void main(String[] args) {
		List<String> list = new ArrayList<String>();

		list.add("aha, hhhaa, muha");
		list.add("lala, kdfif");
		list.add("ja, lila, lulu, ka");

		for (int i = 0, size = list.size(); i < size; i++) {
			System.out.println(getFirstLetters(list.get(i)));
		}
	}

	private static String getFirstLetters(String text) {
		text = text.trim();
		String[] strings = text.split(",");
		StringBuffer sb = new StringBuffer();
		for (int i = 0, size = strings.length; i < size; i++) {
			String tmp = strings[i];
			tmp = tmp.trim();
			sb.append(tmp.charAt(0));
			if (i != size - 1)
				sb.append(", ");
		}
		
		return sb.toString();
	}
}

Ausgabe:
Code:
a, h, m
l, k
j, l, l, k

MFG

zEriX
 
Hat dein Programm mehrere Threads, die zusammen auf den Vector zugreifen?

Falls das nicht der Fall ist, benutze lieber eine ArrayList.

MFG

zEriX
 
ich nutz die arraylist, die ist gut :D

eine kleine frage..wie realsiere ich, dass dieser nur danach sucht und nicht den string so abspeichert?

da ich den kompletten string schon gern behalten möchte und nicht nur die 1. buchstaben..

idee?
eigentlich ja nur den string saven mit den richtigen werten und den ausgeben, aber das geht net so einfach, deswegen die frage, ob es möglich ist, quasi eine bedingung zu stellen, aber diese nicht abzuspeichern...
 
ja das ist mir klar...

Problem ist, dass ich eine Index Suche erstellt habe. Diese durchsucht jetz den String mit den jeweilige Buchstaben.
Aber bei der Ausgabe bekomme ich ja jetz nur noch den gesplitteten Buchstaben.
Deswegen wollte ich ja, das es vll sowas gibt wie, deine beschrieben Funktion als eine Art " bedingung" stellen, aber den String nicht ändern!
 
Ich weiß zwar nicht so ganz was dein Problem ist, aber hier ist noch ein Vorschlag.

Java:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class StringSplitExample {
	public static void main(String[] args) {
		List<String> list = new ArrayList<String>();
		list.add("aha, hhhaa, muha");
		list.add("lala, kdfif");
		list.add("ja, lila, lulu, ka");
		Map<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
		for (int i = 0, size = list.size(); i < size; i++) {
			
			getFirstLetters(list.get(i), map);
		}
	}

	private static void getFirstLetters(String text, Map<String, ArrayList<String>> map) {
		
		ArrayList<String> letterList = new ArrayList<String>();
		String tmpText = text;
		text = text.trim();
		String[] strings = text.split(",");
		for (int i = 0, size = strings.length; i < size; i++) {
			String tmp = strings[i];
			tmp = tmp.trim();
			letterList.add(Character.toString(tmp.charAt(0)));
			
		}
		map.put(tmpText, letterList);
	}
}

Hier wird eine Map erstellt, die als Key den String hat und als Value eine Liste der Anfangsbuchstaben aus dem String. Damit kannst du eigentlich alles machen.

MFG

zEriX
 
Zurück