problem med simpel sortering
Jeg skal bruge nogle sorterings funktioner, men det volder mig pludselig store problemer...Jeg har lavet denne metode som test:
public static List<LibraryResult> sortLibraryResultsByTitle(List<LibraryResult> books) {
for(int i = 0; i < books.size(); i++) {
LibraryResult a = books.get(i);
for(int j = 0; j < books.size(); j++) {
LibraryResult b = books.get(j);
if(a.getTitle().compareTo(b.getTitle()) > 0) {
LibraryResult temp = a;
books.set(i, b);
books.set(j, temp);
}
}
}
return books;
}
Og skrevet denne jsp side for at teste:
<%@ page import="backend.LibraryResult" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="backend.MiscFunctions" %>
<%
List<LibraryResult> books1 = new ArrayList<LibraryResult>();
LibraryResult lr1 = new LibraryResult();
lr1.setTitle("Zebraer er flotte");
books1.add(lr1);
LibraryResult lr2 = new LibraryResult();
lr2.setTitle("Aber er soede");
books1.add(lr2);
LibraryResult lr3 = new LibraryResult();
lr3.setTitle("Heste er store");
books1.add(lr3);
LibraryResult lr4 = new LibraryResult();
lr4.setTitle("Kyllinger er smaa");
books1.add(lr4);
LibraryResult lr5 = new LibraryResult();
lr5.setTitle("Grise smager godt");
books1.add(lr5);
LibraryResult lr6 = new LibraryResult();
lr6.setTitle("Undulater kan flyve");
books1.add(lr6);
LibraryResult lr7 = new LibraryResult();
lr7.setTitle("Antiloper er hurtige");
books1.add(lr7);
List<LibraryResult> books2 = MiscFunctions.sortLibraryResultsByTitle(books1);
%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Simple jsp page</title></head>
<body>
UNSORTED:<br><br>
<%
for(LibraryResult book1: books1) {
out.write(book1.getTitle() + "<br>");
}
%>
<hr>
SORTED:<br><br>
<%
for(LibraryResult book2: books2) {
out.write(book2.getTitle() + "<br>");
}
%>
</body>
</html>
Men underligt nok (for mig) skriver den bare Zebraer er flotte en masse gange, naar jeg koerer siden.
Kan nogen hjaelpe mig her... Jeg ved godt jeg kunne bruge compareTo og implementere Comparable, men jeg skal bruge flere forskellige sorterings parametre.
