前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >day5(面向对象2)

day5(面向对象2)

作者头像
小二三不乌
发布2018-08-02 10:17:00
2680
发布2018-08-02 10:17:00
举报

集合框架2

##set set:无序,不可以重复元素。 hashset:数据结构是哈希表,线程非同步的,保证元素唯一性的原理,判断元素的hashCode值是否相同。如果相同,判断equals TreeSet:可以对set集合中的元素进行排序。 底层数据结构是二叉树。保证元素唯一性的依据:compareTo return 0 往TreeSet集合中存储自定义对象学生。想按照学生的年龄进行排序。 记住:排序时,当主要条件相同时,一定判断一下次要条件。

二叉树

TreeSet排序的第一种方式:让元素自身具备比较性。元素需要事项compareable接口,覆盖compareTo方法。这种方式也称为元素的自然顺序,或者叫做默认顺序。 TreeSet排序的第二种方式:当元素自身不具备比较性时,或者具备的比较性不是锁需要的。这时就需要让集合自身具备比较性。在集合初始化时,就有了比较方式。 当元素自身不具备比较性,或者具备的比较性不是所需要的。这时需要让容器自身具备比较性,定义了比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。 当两种排序都存在时,以比较器为主。定义一个类实现Comparator接口,覆盖compare方法。

泛型

JDK1.5之后出现的新特性,用于解决安全问题,是一个安全机制。 好处:

  1. 将运行时期出现问题转移到编译时期,便于程序员解决。
  2. 避免了强制转换的麻烦。 泛型格式:通过<>来定义要操作的引用数据类型 在使用java提供的对象时,什么时候写泛型? 通常在集合框架中很常见,只要见到<>就要定义泛型。其实<>就是用来接收类型的。当使用集合时,将集合中的要存储的数据类型放到<>中即可。泛型类 泛型类:带泛型的类。 当类中要操作的引用数据类型不确定的时候,早期定义Object来完成扩展,现在定义泛型完成扩展。泛型方法 泛型类定义的泛型,在整个类中有效,如果被方法使用,那么泛型类的对象没明确要操作的具体类型后,所有要操作的类型就已经固定了。为了让不同方法可以操作不同类型,而且类型还不确定,那么可以将泛型定义到方法上。静态方法泛型 特殊之处是:静态方法不可以访问类上定义的泛型,如果静态方法操作的引用数据类型不确定,可以将泛型定义在方法上。泛型接口 泛型限定 ?: 通配符,也可以理解为占位符。 泛型的限定: ? extends E:可以接收E类型或者E的子类型。上限? super E:可以接收E类型或者E的父类型。下限
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 集合框架2
    • 二叉树
      • 泛型
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档