学习过程中,经常需要对集合或者数组中的元素进行排序,这里总结如下:
思想:先获取元素,然后进行比较,最后换位置
代码如下:
package sort;
import java.util.ArrayList;
import java.util.List;
public class Sort {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(5);
list.add(4);
list.add(3);
// 对集合中的元素进行排序
// 外层for循环规定循环的次数,内层for循环来获取前后元素进行比较
for (int i = 0; i < list.size() - 1; i++) {
for (int j = 0; j < list.size() - 1; j++) {
// 利用集合的set和get方法比较后进行换位置
int a = list.get(j);
int b = list.get(j + 1);
if (a > b) {
list.set(j, b);
list.set(j + 1, a);
}
}
}
System.out.println(list);
// 对数组中的元素进行排序
int[] arr = { 1, 2, 5, 4, 3 };
// 通过双层for循环来获取前后元素
for (int x = 0; x < arr.length; x++) {
for (int y = x + 1; y < arr.length; y++) {
if (arr[x] > arr[y]) {
// 采用中间量来转换位置
int temp;
temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
for (int a = 0; a < arr.length; a++) {
System.out.println(arr[a]);
}
}
}