定义一个List,插入100个随机数字(0~100之间的整数)。对该List进行去重,并按照从小到大排序。(去重及排序不允许使用list自带方

262 阅读1分钟

定义一个List,插入100个随机数字(0~100之间的整数)。 对该List进行去重,并按照从小到大排序。(去重及排序不允许使用list自带方

使用基础的循环和条件语句来手动实现去重和排序。以下是一个简单的Java示例代码,演示如何创建一个包含100个随机数字的列表,然后进行去重和排序:

import java.util.ArrayList;
import java.util.Random;

public class ManualListOperations {
    public static void main(String[] args) {
        // 创建一个包含100个随机数字的列表
        ArrayList<Integer> list = new ArrayList<>();
        Random random = new Random();
        for (int i = 0; i < 100; i++) {
            list.add(random.nextInt(101)); // 生成0到100之间的随机整数
        }

        // 打印原始列表
        System.out.println("Original List: " + list);

        // 去重
        removeDuplicates(list);

        // 排序
        sortList(list);

        // 打印去重且排序后的列表
        System.out.println("Sorted and Deduplicated List: " + list);
    }

    // 去重方法
    private static void removeDuplicates(ArrayList<Integer> list) {
        for (int i = 0; i < list.size() - 1; i++) {
            for (int j = i + 1; j < list.size(); j++) {
                if (list.get(i).equals(list.get(j))) {
                    list.remove(j);
                    j--; // 修正索引,确保不会漏掉后续元素
                }
            }
        }
    }

    // 排序方法(冒泡排序)
    private static void sortList(ArrayList<Integer> list) {
        for (int i = 0; i < list.size() - 1; i++) {
            for (int j = 0; j < list.size() - 1 - i; j++) {
                if (list.get(j) > list.get(j + 1)) {
                    // 交换位置
                    int temp = list.get(j);
                    list.set(j, list.get(j + 1));
                    list.set(j + 1, temp);
                }
            }
        }
    }
}

这个例子中,removeDuplicates 方法用于去重,sortList 方法使用冒泡排序进行排序。请注意,这些方法都是基础的算法示例,实际上在实际项目中,可以使用更高效的算法和Java自带的工具类。