Hallo liebe Tutorials Benutzer ,
ich habe ein Problem um mein Daten zu sortieren
Meine Daten sind in einem Excel Tabelle, es sieht so aus:
Bez / 12 / 412
Fet / 12 / 955
Bez / 57 / 767
Fet / 57 / 807
Bez / 15 / 124
Fet / 15 / 278
Bez / 12 / 124
Fet / 12 / 278
Ich habe vier Gruppen, die sind getrennt mit eine leer Zeichen. Ich will die einfach sortieren nach die zweite reihe aber die Gruppen sollen zusammen bleiben, d.h. ich erwarte folgendes:
Bez / 57 / 767
Fet / 57 / 807
Bez / 15 / 124
Fet / 15 / 278
Bez / 12 / 412
Fet / 12 / 955
Bez / 12 / 124
Fet / 12 / 278
Aber das Programm was ich geschrieben habe, lässt die Gruppen nicht zusammen !
Kommt folgendes raus:
bez / 57 / 767
fet / 57 / 807
bez / 15 / 124
fet / 15 / 278
bez / 12 / 124
bez / 12 / 124
fet / 12 / 278
fet / 12 / 955
Mein Programme lautet:
ich hoffe das meine frage klar genug ist, ich bedanke mich für eure hilfe.
Newfutur
ich habe ein Problem um mein Daten zu sortieren
Meine Daten sind in einem Excel Tabelle, es sieht so aus:
Bez / 12 / 412
Fet / 12 / 955
Bez / 57 / 767
Fet / 57 / 807
Bez / 15 / 124
Fet / 15 / 278
Bez / 12 / 124
Fet / 12 / 278
Ich habe vier Gruppen, die sind getrennt mit eine leer Zeichen. Ich will die einfach sortieren nach die zweite reihe aber die Gruppen sollen zusammen bleiben, d.h. ich erwarte folgendes:
Bez / 57 / 767
Fet / 57 / 807
Bez / 15 / 124
Fet / 15 / 278
Bez / 12 / 412
Fet / 12 / 955
Bez / 12 / 124
Fet / 12 / 278
Aber das Programm was ich geschrieben habe, lässt die Gruppen nicht zusammen !
Kommt folgendes raus:
bez / 57 / 767
fet / 57 / 807
bez / 15 / 124
fet / 15 / 278
bez / 12 / 124
bez / 12 / 124
fet / 12 / 278
fet / 12 / 955
Mein Programme lautet:
Code:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
import java.util.Vector;
public class Häufigkeit {
static final String SPLIT = " ";
HashMap map = new HashMap();
void Häufigkeit_1()throws IOException{
File dir = new File("C://............");
File[] files = dir.listFiles();
String[] temp = null;
for (File f: files) {
BufferedReader in = new BufferedReader(new FileReader(f));
String line = null;
Vector v = new Vector();
Vector v1 = new Vector();
while ((line = in.readLine()) != null) {
line=line.replace('\\',' ');
temp = line.split(" ");
if (line.trim().length() == 0) {
v.add(v1);
v1 = new Vector();
continue;
}//if*/
v1.add(line);
}//while
for(int h=0; h<v.size();h++){
Vector v4=(Vector)v.elementAt(h);
for (int j=0; j<v4.size();j++){
String[] S1 =v4.elementAt(j).toString().split(" ");
String [] S2 =S1[0].split(" ");
map.put(v4.elementAt(j),S2[1]);
}// for: int j
}//for:int h
Object key;
Set set = new TreeSet(new Häufigkeit().new MyComperator());
for (Iterator it = map.keySet().iterator(); it.hasNext(); ) {
key = it.next();
set.add(key + Häufigkeit.SPLIT + map.get(key));
}//for iterator
for (Iterator it = set.iterator(); it.hasNext(); ) {
key = it.next();
System.out.println(key);
System.out.println(" ");
}//for Iterator 2
} //for: file f
}//void
private class MyComperator implements Comparator {
public int compare(Object o1, Object o2) {
String[] s1 = ((String)o1).split(Häufigkeit.SPLIT);
String[] s2 = ((String)o2).split(Häufigkeit.SPLIT);
return this.compare(s1[0], s1[1], s2[0], s2[1]);
}
private int compare(String s11, String s12, String s21, String s22) {
if (s12.equals(s22)) {
return s11.compareTo(s21); }
else {return s22.compareTo(s12); }
}// private int compare
}//private class MyComperator
}//public class
ich hoffe das meine frage klar genug ist, ich bedanke mich für eure hilfe.
Newfutur