Ich habe eine Aufgabe zu ändern, um ein vorhandenes zu aktualisieren.Konvertieren von einfach verknüpften Liste zu einer Karte
herauszufinden, wie die Eignungsprüfung Problem neu zu kodieren eine Karte für jedes Endgerät Zeile, auf der Annahme, dass die Größe des Problems durch die Anzahl der Eingangsleitungen dominiert wird, nicht die 500 Anschlussleitungen
Das Programm nimmt eine Textdatei mit der Nummer und dem Namen auf. Die Nummer ist die PC-Nummer und der Name ist der Benutzer, der sich anmeldete. Das Programm gibt den Benutzer für jeden Computer zurück, der sich am häufigsten angemeldet hat. Hier ist der bestehende Code
public class LineUsageData {
SinglyLinkedList<Usage> singly = new SinglyLinkedList<Usage>();
//function to add a user to the linked list or to increment count by 1
public void addObservation(Usage usage){
for(int i = 0; i < singly.size(); ++i){
if(usage.getName().equals(singly.get(i).getName())){
singly.get(i).incrementCount(1);
return;
}
}
singly.add(usage);
}
//returns the user with the most connections to the PC
public String getMaxUsage(){
int tempHigh = 0;
int high = 0;
String userAndCount = "";
for(int i = 0; i < singly.size(); ++i){//goes through list and keeps highest
tempHigh = singly.get(i).getCount();
if(tempHigh > high){
high = tempHigh;
userAndCount = singly.get(i).getName() + " " + singly.get(i).getCount();
}
}
return userAndCount;
}
}
Ich habe Probleme auf der theoretischen Seite. Wir können eine Hashmap oder eine Treemap verwenden. Ich versuche darüber nachzudenken, wie ich eine Karte erstellen würde, die die Liste der Benutzer für jeden PC enthält? Ich kann das Usage-Objekt wiederverwenden, das den Namen und die Anzahl der Benutzer enthält. Ich soll dieses Objekt aber nicht ändern