31.Set集合

Set集合

1.HashSet
package heima_day17;
import java.util.HashSet;
public class Demo1_HashSet {
     //Set集合,无索引,不可以重复,无序(存取不一致)
     public static void main(String[] args) {
           // TODO Auto-generated method stub
           HashSet<String> hs = new HashSet<String>();//创建HashSet对象
           boolean b1 = hs.add("a");
           boolean b2 = hs.add("a");//当向set集合中存储重复元素的时候返回false
           hs.add("b");
           hs.add("c");
           hs.add("d");
           System.out.println(hs);//HashSet的继承体系中有重写toString方法
           System.out.println(b1);
           System.out.println(b2);
           for (String string : hs) {
               System.out.println(string);//只要能用迭代器迭代的,就可以用增强for循环遍历
           }
     }
}

package heima_day17;
import java.util.HashSet;
import heima_day17_bean.Person;
public class Demo2_HashSet {
	public static void main(String[] args) {
		HashSet<Person> hs =new HashSet<>();
		hs.add(new Person("张三",23));
		hs.add(new Person("张三",23));
		hs.add(new Person("张三",23));
		hs.add(new Person("张三",23));
		hs.add(new Person("李四",24));
		hs.add(new Person("李四",24));
		System.out.println(hs);
	}
}
2.LinkedHashSet
package heima_day17;
import java.util.LinkedHashSet;
public class Demo3_LinkedHashSet {
     /**
      * LinkedHashSet
      * 底层是链表实现的,是set集合中唯一一个能保证怎么存怎么取的集合对象
      * 因为是HashSet的子类,所以也是保证元素唯一的,与HashSet的原理一样  
      */
     public static void main(String[] args) {
           LinkedHashSet<String> lhs = new LinkedHashSet<>();
           lhs.add("a");
           lhs.add("a");
           lhs.add("c");        
           lhs.add("d");
           System.out.println(lhs);
     }
}
3.TreeSet
package heima_day17;

import java.util.TreeSet;

import heima_day17_bean.Person;

public class Demo4_TreeSet {
	/**
	 * TreeSet集合是用来对元素进行排序,同时他也可以保证元素的唯一
	 * 当comparaTo方法返回0的时候,集合中只有一个元素
	 * 当comparaTo方法返回正数的时候,集合会怎么存怎么取
	 * 当comparaTo方法返回负数的时候,集合会倒序存储
	 */
	public static void main(String[] args) {
		TreeSet<Person> ts = new TreeSet<>();
		ts.add(new Person("abc",23));
		ts.add(new Person("cba",24));
		ts.add(new Person("bsc",25));
		ts.add(new Person("sbc",13));
		System.out.println(ts);
	}
	/**
	 * 特点 
	 * TreeSet是用来排序的,可以指定一个顺序,对象存入之后会按照指定的顺序排列
	 * 
	 * 使用方式
	 * 1.自然顺序(Comparable)
	 * TreeSet类的add()方法中会把存入对象提升为Comparable类型
	 * 调用对象的comparaTo()方法和集合中的对象比较
	 * 根据comparaTo方法返回的结果进行存储
	 * 
	 * 2.比较器顺序(comparator)
	 * 创建TreeSet的时候可以制定 一个comparator
	 *如果传入comparator的子类对象,那么TreeSet就会按照比较器中顺序排序
	 *add()方法内部会自动调用comparator接口中compare方法排序
	 *
	 *两种方法的区别
	 *TreeSet构造函数什么都不传,默认按照类中comparable的顺序
	 *treeSet如果传入comparator,就优先按照Comparator
	 */
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值