package J20250723;

import java.util.ArrayList;
import java.util.List;
import java.util.TreeSet;

/**
 * @author WanJl
 * @version 1.0
 * @title Demo04_HashSet_ArrayList
 * @description
 * @create 2025/7/23
 */
public class Demo04_HashSet_ArrayList<E> {
    /**
     * 1、去除集合中的重复元素
     * @param list  传入的是可能存在重复元素的List集合对象
     * @return  返回的是不存在重复元素的List集合对象  要求在保证去除的同时，保持原来集合中元素的顺序。
     */
    /*    public static <E>List<E> deduplication(List<E> list){
        TreeSet<E> set = new TreeSet<>(list);
        return new ArrayList<>(set);
    }*/
    public static <E>List<E> deduplication(List<E> list){
        TreeSet<E> set = new TreeSet<>(list);
        return new ArrayList<>(set);
    }

    /**
     * 2、将集合中的元素反转
     * @param list 反转前的集合
     * @param <E> 集合中存储的元素的类型
     * @return 集合元素反转后的集合
     */
    public static <E>List<E> rollback(List<E> list){
        return null;
    }



    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        list.add("5张三");
        list.add("3李四");
        list.add("张三");
        list.add("2王五");
        list.add("张三");
        list.add("王五");
        list.add("张三");
        List<String> list1 = deduplication(list);

        System.out.println(list);
        System.out.println(list1);

    }
}
