Analyser à partir de la Liste<String> Java

J'essaie d'analyser la valeur des éléments dans une Liste déclarée ainsi:

 List<String> uniqueList = new ArrayList<String>(dupMap.values());

Les valeurs sont comme ceci:

a:1-2
b:3-5

mais j'en veux un ArrayList avec le premier nombre (c'est à dire 1, 3) et l'autre avec le deuxième (2, 5). J'ai cela a fonctionné... Sorta:

String delims= "\t"; String delim2= ":"; String delim3= "-";
String splits2[]; String splits3[]; String splits4[];
Map<String,String> dupMap = new TreeMap<String, String>();
List<String> uniqueList = new ArrayList<String>(dupMap.values());
ArrayList<String> parsed2 = new ArrayList<String>();
ArrayList<String> parsed3 = new ArrayList<String>();
ArrayList<String> parsed3two= new ArrayList<String>();
double uniques = uniqueList.size();
for(int a=0;a<uniques;a++){
    //this doesn't work like it would for an ArrayList
    splits2 = uniqueList.split(delim2) ;
    parsed2.add(splits2[1]);
    for(int q=0; q<splits2.length; q++){
        String change2 = splits2[q];
        if(change2.length()>2){
           splits3 = change2.split(delim3);
           parsed3.add(splits3[0]);
           String change3=splits3[q];
           if (change3.length()>2){
               splits4 = change3.split(delims);
               parsed3two.add(splits4[0]);
           }
        }
     }
  }

uniqueList.split ne fonctionne pas, cependant, et je ne sais pas si il existe une fonction similaire pour la Liste. Est-il des suggestions?

  • De quel type d'objet est dupMap?
  • split() est un membre de la String classe. Vous pouvez parcourir le Strings dans votre liste et split() chacun ensuite de placer les résultats dans vos deux listes distinctes.
  • Tout d'abord, votre nom est une sorte de génial. Deuxièmement, j'ai édité mon post pour avoir l'information. Il semble que j'ai oublié.
  • aucune raison de s'en parsed2 et quelques autres sont de type ArrayList et pas Liste?
  • Je suis désolé, pouvez-vous expliquer davantage? Je ne suis pas sûr de comprendre. Vous voulez dire que je peux dire quelque chose comme cela dans une boucle d'itération x: = quelque chose uniqueList.get(x); splits2 = quelque chose.split(delim2); ?
  • J'ai ajouté une réponse avec plus de détails. Espérons que cela aide.

InformationsquelleAutor Stephopolis | 2012-08-29