1
所以這裏是我很困惑。 在我的主要方法中,我有許多Faculty對象。 除了擁有FacultyList Arraylist。使用插入比較ArrayList中的對象排序
ArrayList<Faculty> FacultyList = new ArrayList<>();
Faculty faculty1 = new Faculty(fName, "Bob", age, department, position);
Faculty faculty2 = new Faculty(fName, "Anderson", age, department, position);
Faculty faculty3 = new Faculty(fName, "Yvetal", age, department, position);
Faculty faculty4 = new Faculty(fName, "Thompson", age, department, position);
FacultyList.add(faculty1);
FacultyList.add(faculty2);
FacultyList.add(faculty3);
FacultyList.add(faculty4);
現在的情況是,我需要或者創建一個方法或只是把代碼中的主要程序做基礎上,姓氏的插入排序。
我曾經這樣做過,它沒有改變任何東西。
private static void insertionFaculty(ArrayList<Faculty> array)
{
Faculty temp;
for(int i = 1; i < array.size(); i++)
{
temp = array.get(i);
for(int j = i; j > 0; j--)
{
if(temp.getLastName().compareTo(array.get(j-1).getLastName()) < 0)
{
array.set(j, array.get(j - 1));
}
else
break;
array.set(j, temp);
}
}
}
請幫助:)
檢查[this](http://beginnersbook.com/2013/12/java -arraylist-的對象排序-例如可比 - 和 - 比較器/)。你需要在'Faculty'類中實現'comparator'和'comparator',然後你可以在'ArrayList'上使用'Collections.sort()'。 – JonasCz
我也看到了這一點,但我需要做一個插入排序方法或只是一個代碼塊,而不是繼承代碼 – Maximus
[This](http://stackoverflow.com/a/8938297/4428462)可能會幫助,如果你想手動完成。應該對ArrayList進行一些更改。 – JonasCz