当前位置: 首页 > news >正文

江西建设监督网新网站网站 整体架构

江西建设监督网新网站,网站 整体架构,今科网站建设公司,wordpress内存优化1.泛型 1.1泛型概述 泛型的介绍 ​ 泛型是JDK5中引入的特性#xff0c;它提供了编译时类型安全检测机制 泛型的好处 把运行时期的问题提前到了编译期间避免了强制类型转换 泛型的定义格式 类型: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如:…1.泛型 1.1泛型概述 泛型的介绍 ​ 泛型是JDK5中引入的特性它提供了编译时类型安全检测机制 泛型的好处 把运行时期的问题提前到了编译期间避免了强制类型转换 泛型的定义格式 类型: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: 类型1,类型2…: 指定多种类型的格式,多种类型之间用逗号隔开.例如: E,T K,V 2.Set集合 2.1Set集合概述和特点【应用】 不可以存储重复元素没有索引,不能使用普通for循环遍历 2.2Set集合的使用【应用】 存储字符串并遍历 public class MySet1 {public static void main(String[] args) {//创建集合对象SetString set new TreeSet();//添加元素set.add(ccc);set.add(aaa);set.add(aaa);set.add(bbb);// for (int i 0; i set.size(); i) { // //Set集合是没有索引的所以不能使用通过索引获取元素的方法 // }//遍历集合IteratorString it set.iterator();while (it.hasNext()){String s it.next();System.out.println(s);}System.out.println(-----------------------------------);for (String s : set) {System.out.println(s);}} }3.TreeSet集合 3.1TreeSet集合概述和特点【应用】 不可以存储重复元素没有索引可以将元素按照规则进行排序 TreeSet()根据其元素的自然排序进行排序TreeSet(Comparator comparator) 根据指定的比较器进行排序 3.2TreeSet集合基本使用【应用】 存储Integer类型的整数并遍历 public class TreeSetDemo01 {public static void main(String[] args) {//创建集合对象TreeSetInteger ts new TreeSetInteger();//添加元素ts.add(10);ts.add(40);ts.add(30);ts.add(50);ts.add(20);ts.add(30);//遍历集合for(Integer i : ts) {System.out.println(i);}} }3.3自然排序Comparable的使用【应用】 案例需求 存储学生对象并遍历创建TreeSet集合使用无参构造方法要求按照年龄从小到大排序年龄相同时按照姓名的字母顺序排序 实现步骤 使用空参构造创建TreeSet集合 用TreeSet集合存储自定义对象无参构造方法使用的是自然排序对元素进行排序的 自定义的Student类实现Comparable接口 自然排序就是让元素所属的类实现Comparable接口重写compareTo(T o)方法 重写接口中的compareTo方法 重写方法时一定要注意排序规则必须按照要求的主要条件和次要条件来写 代码实现 学生类 public class Student implements ComparableStudent{private String name;private int age;public Student() {}public Student(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() {return Student{ name name \ , age age };}Overridepublic int compareTo(Student o) {//按照对象的年龄进行排序//主要判断条件: 按照年龄从小到大排序int result this.age - o.age;//次要判断条件: 年龄相同时按照姓名的字母顺序排序result result 0 ? this.name.compareTo(o.getName()) : result;return result;} }测试类 public class MyTreeSet2 {public static void main(String[] args) {//创建集合对象TreeSetStudent ts new TreeSet();//创建学生对象Student s1 new Student(zhangsan,28);Student s2 new Student(lisi,27);Student s3 new Student(wangwu,29);Student s4 new Student(zhaoliu,28);Student s5 new Student(qianqi,30);//把学生添加到集合ts.add(s1);ts.add(s2);ts.add(s3);ts.add(s4);ts.add(s5);//遍历集合for (Student student : ts) {System.out.println(student);}} }3.4比较器排序Comparator的使用【应用】 案例需求 存储老师对象并遍历创建TreeSet集合使用带参构造方法要求按照年龄从小到大排序年龄相同时按照姓名的字母顺序排序 实现步骤 用TreeSet集合存储自定义对象带参构造方法使用的是比较器排序对元素进行排序的比较器排序就是让集合构造方法接收Comparator的实现类对象重写compare(T o1,T o2)方法重写方法时一定要注意排序规则必须按照要求的主要条件和次要条件来写 代码实现 老师类 public class Teacher {private String name;private int age;public Teacher() {}public Teacher(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() {return Teacher{ name name \ , age age };} }测试类 public class MyTreeSet4 {public static void main(String[] args) {//创建集合对象TreeSetTeacher ts new TreeSet(new ComparatorTeacher() {Overridepublic int compare(Teacher o1, Teacher o2) {//o1表示现在要存入的那个元素//o2表示已经存入到集合中的元素//主要条件int result o1.getAge() - o2.getAge();//次要条件result result 0 ? o1.getName().compareTo(o2.getName()) : result;return result;}});//创建老师对象Teacher t1 new Teacher(zhangsan,23);Teacher t2 new Teacher(lisi,22);Teacher t3 new Teacher(wangwu,24);Teacher t4 new Teacher(zhaoliu,24);//把老师添加到集合ts.add(t1);ts.add(t2);ts.add(t3);ts.add(t4);//遍历集合for (Teacher teacher : ts) {System.out.println(teacher);}} }3.5两种比较方式总结【理解】 两种比较方式小结 自然排序: 自定义类实现Comparable接口,重写compareTo方法,根据返回值进行排序比较器排序: 创建TreeSet对象的时候传递Comparator的实现类对象,重写compare方法,根据返回值进行排序在使用的时候,默认使用自然排序,当自然排序不满足现在的需求时,必须使用比较器排序 两种方式中关于返回值的规则 如果返回值为负数表示当前存入的元素是较小值存左边如果返回值为0表示当前存入的元素跟集合中元素重复了不存如果返回值为正数表示当前存入的元素是较大值存右边 4.数据结构 4.1二叉树【理解】 二叉树的特点 二叉树中,任意一个节点的度要小于等于2 节点: 在树结构中,每一个元素称之为节点度: 每一个节点的子节点数量称之为度 二叉树结构图 4.2二叉查找树【理解】 二叉查找树的特点 二叉查找树,又称二叉排序树或者二叉搜索树每一个节点上最多有两个子节点左子树上所有节点的值都小于根节点的值右子树上所有节点的值都大于根节点的值 二叉查找树结构图 二叉查找树和二叉树对比结构图 二叉查找树添加节点规则 小的存左边大的存右边一样的不存 4.3平衡二叉树【理解】 平衡二叉树的特点 二叉树左右两个子树的高度差不超过1任意节点的左右两个子树都是一颗平衡二叉树 平衡二叉树旋转 旋转触发时机 当添加一个节点之后,该树不再是一颗平衡二叉树 左旋 就是将根节点的右侧往左拉,原先的右子节点变成新的父节点,并把多余的左子节点出让,给已经降级的根节点当右子节点 右旋 就是将根节点的左侧往右拉,左子节点变成了新的父节点,并把多余的右子节点出让,给已经降级根节点当左子节点 平衡二叉树和二叉查找树对比结构图 平衡二叉树旋转的四种情况 左左 左左: 当根节点左子树的左子树有节点插入,导致二叉树不平衡 如何旋转: 直接对整体进行右旋即可 左右 左右: 当根节点左子树的右子树有节点插入,导致二叉树不平衡 如何旋转: 先在左子树对应的节点位置进行左旋,在对整体进行右旋 右右 右右: 当根节点右子树的右子树有节点插入,导致二叉树不平衡 如何旋转: 直接对整体进行左旋即可 右左 右左:当根节点右子树的左子树有节点插入,导致二叉树不平衡 如何旋转: 先在右子树对应的节点位置进行右旋,在对整体进行左旋 4.3红黑树【理解】 红黑树的特点 平衡二叉B树每一个节点可以是红或者黑红黑树不是高度平衡的,它的平衡是通过自己的红黑规则进行实现的 红黑树的红黑规则有哪些 每一个节点或是红色的,或者是黑色的 根节点必须是黑色 如果一个节点没有子节点或者父节点,则该节点相应的指针属性值为Nil,这些Nil视为叶节点,每个叶节点(Nil)是黑色的 如果某一个节点是红色,那么它的子节点必须是黑色(不能出现两个红色节点相连 的情况) 对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点 红黑树添加节点的默认颜色 添加节点时,默认为红色,效率高 红黑树添加节点后如何保持红黑规则 根节点位置 直接变为黑色 非根节点位置 父节点为黑色 不需要任何操作,默认红色即可 父节点为红色 叔叔节点为红色 将父节点设为黑色,将叔叔节点设为黑色将祖父节点设为红色如果祖父节点为根节点,则将根节点再次变成黑色 叔叔节点为黑色 将父节点设为黑色将祖父节点设为红色以祖父节点为支点进行旋转
http://www.hkea.cn/news/14442055/

相关文章:

  • 如何学习网站建设做网站的图片大全
  • 成都市自住房建设网站网站搜索框设计
  • 成都青羊区建设局网站深圳出台科技支持政策
  • 做网站前端后端ui什么意思网络会议系统国内十大品牌
  • 织梦网站如何做移动端用阿里巴巴做公司网站怎么样
  • 中企动力做网站怎么样cn域名做seo
  • 网站备案能查到什么东西镇江 网站
  • 网站怎么上线网站建设与seo
  • 企业做网站价格wordpress 倒计时广告
  • 网站建设联系我们上海 食品网站设计
  • 建站网址平台更改网站模板
  • 自建网站网址网站开发有前景吗
  • 做国外网站什么定位网站的引导页怎么做的
  • 谁用fun域名做网站了网站如何编辑
  • 做网站哪里的好优秀网页设计案例分析图文
  • 4k中国视频素材网站印尼建设银行网站
  • 中天建设第四网站网站开发界面设计
  • 同城网站开发文登 网站建设
  • 做直播的网站百度文库官网
  • 唐山高端品牌网站建设微信网站跳转链接怎么做
  • 酒泉做网站咨询聊城网站建设
  • 网站打开是404广东网站建设定制
  • 广告设计网站排行榜前十名有哪些简网app工场在线制作
  • 如何做一家门户网站厦门亚龙网站建设
  • 好的网站怎么建设在别的公司做的网站可以转走吗
  • 做网站用什么开发语言网站建设的工具
  • 榆中建设局网站免费建站软件有哪些
  • 客户网站建设问题wordpress dux缩略图
  • 网站源文件修改新化网站建设
  • 广东网站建设制作价格优化网站费用