package cn.tedu.test6; import java.util.*; public class SetVsList { public static void main(String[] args) { //TreeSet和ArrayList对比案例 Set<Integer> set = new TreeSet<>(); List<Integer> list = new ArrayList<>(); set.add(1); list.add(1); set.add(2); list.add(2); set.add(3); list.add(3); set.add(4); list.add(4); set.add(5); list.add(5); System.out.println("set:"+set); //输出set System.out.println("list"+list); //输出list set.add(2);//不会添加重复数据 list.add(2);//可以添加重复数据 System.out.println("添加数据之后:"); System.out.println("set:"+set); System.out.println("list:"+list); System.out.println("是否含有数据5:"); System.out.println(set.contains(5)); //是否含有数据5 System.out.println(list.contains(5)); System.out.println("移除数据之后:"); set.remove(4); //移除数据4 list.remove(4); //移除下标(索引)为4的数据 System.out.println("set:"+set); System.out.println("list:"+list); System.out.println("获取数据(只针对list):"); System.out.println("指定下标获取内容:"+list.get(1)); //获取list下标为1的数据,set无get()方法 System.out.println("指定内容获取下标:"+list.indexOf(2));//获取list数据内容为2的位置 System.out.println("set size:"+set.size()); //输出set大小 System.out.println("list size:"+list.size()); //输出list大小 System.out.print("遍历set之后:"); for(Integer value:set) { //遍历set System.out.print(value+" "); } System.out.println(); System.out.print("遍历list之后:"); for(Integer value:list) { //遍历list System.out.print(value+" "); } } } 结果显示: set:[1, 2, 3, 4, 5] list[1, 2, 3, 4, 5] 添加数据之后: set:[1, 2, 3, 4, 5] list:[1, 2, 3, 4, 5, 2] 是否含有数据5: true true 移除数据之后: set:[1, 2, 3, 5] list:[1, 2, 3, 4, 2] 获取数据(只针对list): 指定下标获取内容:2 指定内容获取下标:1 set size:4 list size:5 遍历set之后:1 2 3 5 遍历list之后:1 2 3 4 2