摘要:
需求1:求下面的單鏈表中最大值結點的位置:
[29, 33, 98, 12, 97, 2, 3, 67, 52, 27]
需求2:將下面的單鏈表反轉:
[29, 33, 98, 12, 97, 2, 3, 67, 52, 27]
參考代碼:
package com.gx.demo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Demo {
public static void main(String[] args) {
List list = new ArrayList();
list.add(29);
list.add(33);
list.add(98);
list.add(12);
list.add(97);
list.add(2);
list.add(3);
list.add(67);
list.add(52);
list.add(27);
// 找最大值
int iMax = Collections.max(list);
System.out.println("最大值: " + iMax);
// 找索引,索引從0開始
for (int i = 0; i < list.size(); i++) {
if (iMax == list.get(i).hashCode()) {
System.out.println("最大值索引: " + i);
}
}
System.out.println("list反轉前:" + list);
// 反轉
Collections.reverse(list);
System.out.println("list反轉後:" + list);
}
}
輸出結果:
最大值: 98
最大值索引: 2
list反轉前:[29, 33, 98, 12, 97, 2, 3, 67, 52, 27]
list反轉後:[27, 52, 67, 3, 2, 97, 12, 98, 33, 29]