0826学习笔记(集合、泛型)

集合

HashSet集合(实现类)

  • 实现Set接口。
  • 底层数据结构是哈希表。
  • 没有带索引的方法,普通for循环不能遍历。
  • 没有重复元素。

补:HashSet集合存储(学生)对象不重复:在(学生)类中重写HashCode() 和equale() 方法,自动生成重写即可。

LinkedHashSet集合(实现类):

  • 哈希表和链表实现的Set接口。
  • 链表保证元素有序,即存储和取出顺序一致。
  • 哈希表保证没有重复元素。

TreeSet集合:

  • 元素有序,按照一定规则排序,具体排序方法取决于构造方法。
  • TreeSet():根据元素的自然顺序排序。
  • TreeSet(Comparator comparator): 根据指定的比较器排序
  • 没有带索引的方法,普通for循环不能遍历。
  • 没有重复元素。

使用元素的自然顺序排序。

  • 创建对象TreeSet<>()使用无参构造。

  • 类要实现Comparable接口

  • 在类中重写方法compareTo方法。

使用比较器排序

  • 创建对象TreeSet< >( new )有参构造。
  • 在测试类中写内部类compare。
TreeSet<Student>()   ts = new  TreeSet< Student>( new  Comparator<Student>(){
	public int compare(Student s1,Student s2){
              //比较器规则
                return  (int);
	}
  });

**

泛型

  • 本质是参数化类型,所操作的数据类型被指定为一个参数
  • 参数化类型:将类型由原来的具体类参数化,然后在使用/调用的时候传入具体参数类型。
  • 可以用在类、方法和接口中,被称为泛型类、泛型方法和泛型接口。

格式

  • <类型>:指一种类型的格式,这个类型可以看作参数(形参)。
  • <类型1,类型2…>:指多类型,用逗号隔开,这里类型可以看作参数(形参)。
  • 具体调用时给定的类型可看成实参,实参只能是引用类型。

优点:

  • 避免类型强转。
  • 把运行时期问题提前到了编译时期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值