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

永泰县网站集约化建设广州好蜘蛛网站建设公司

永泰县网站集约化建设,广州好蜘蛛网站建设公司,编程代码大全,网页设计网站总结报告怎么写文章目录 集合Set集合TreeSet集合 Map集合概述特点子类及其底层数据结构常用方法遍历 数据结构常见的数据结构二叉树 可变参数介绍格式注意 Collections工具类方法 排序查找算法冒泡排序介绍原理注意代码 选择排序介绍原理规律代码 二分查找前提介绍原理注意代码 集合 Set集合 … 文章目录 集合Set集合TreeSet集合 Map集合概述特点子类及其底层数据结构常用方法遍历 数据结构常见的数据结构二叉树 可变参数介绍格式注意 Collections工具类方法 排序查找算法冒泡排序介绍原理注意代码 选择排序介绍原理规律代码 二分查找前提介绍原理注意代码 集合 Set集合 TreeSet集合 底层结构红黑树结构存储的元素会按照规则进行排序 在TreeSet集合中存储StringIntegerDoubleCharacter //JDK提供的类型 都默认实现了java.lang.Comparable接口(自带自然排序规则) 在TerrSet集合中存储自定义类型 //程序员自己定义的 就必须保证自定义类型要实现Comparable接口并重写compareTo方法如果自定义类型没有实现Comparable接口在遍历set集合时会发生异常 compareTo方法 //比较大小 0 相同 负数表示小 整数表示大 public int compareTo(E e){//自然排序规程//返回结果有三种0负数正数(底层红黑树需要) }排序规则 自然排序元素需要实现Comparable接口比较器排序元素不需要实现Comparable接口需要在创建TreeSet对象时指定排序规则 构造方法 public TreeSet() //默认使用自然排序 public TreeSet(Comparator c) //指定比较器对象比较器Comparator接口(泛型接口)int compare(Object o1,Object o2) //比较俩个元素的大小: 0正数负数o1要存储的元素o2已存在的元素 Map集合 概述 是一个存储成对数据的集合称之为双列集合。Collection称之为单列集合存储的数据称之为键值对(Entry)底层keyvalue存在 特点 可以存储2个元素(键值对元素)key元素不能重复value元素可以重复一个key元素只能对应一个value元素(一一对应)能通过key找到value存储元素不保证顺序没有索引 子类及其底层数据结构 java.util.Map(接口) HashMap:底层使用哈希表LinkedHashMap:底层使用哈希表链表TreeMap:底层使用红黑树 HashSet底层实现就是HashMap的键值完成的同理其他俩个也是 常用方法 添加和修改都是put修改需要在键的位置写上进行修改的键值即可 遍历 不能直接遍历只能间接性实现遍历操作 键找值方式 获取Map集合中所有的key元素遍历所有的key通过key元素找到对应的value元素 Map对象.keySet(); 键值对对象 获取Map集合中所有的Map.Entry对象遍历所有的Entry对象通过Entry中的API获取keyvalue Map对象.entrySet();键要唯一所有键的存储对象为自定义对象时要重写hashCode和equals方法TreeMap参考TreeSet 数据结构 常见的数据结构 二叉树 二叉查找树 规则小的存左边大的存右边一样的不存平衡二叉树红黑树平衡二叉B树 可变参数 介绍 在调用方法是传入任意个参数底层是使用数组 格式 public 返回值类型 方法名(参数类型... 参数名){//...就是可变参数的语法表示格式 }注意 可变参数只能作为方法的最后一个参数前面可以有也可以没有参数可变参数本质上是数组不能作为方法的重载。(一个方法参数为可变参数有一个相同方法参数为参数名相同的数组) Collections工具类 不能创建对象提供了静态方法针对List,Set集合进行相关操作(排序二分查找添加元素…) 方法 static T boolean addAll(CollectionT c, T... elements) //添加任意多个数据到集合中排序查找算法 冒泡排序 介绍 将一组数据按照升序规则进行排序 原理 相邻的数据俩俩比较大的放后面 注意 如果有n个数据进行排序总共需要比较n-1轮每一次比较完毕下一次的比较就会少一个数据参与 代码 int[] arr {5,3,2,6,1};//数组中有n个元素进行n-1轮排序for (int i 0; i arr.length - 1; i) {//第一轮32516//第二轮23156//第三轮21356//第四轮12356for (int j 0; j arr.length - 1 - i; j) {if (arr[j] arr[j 1]){int tmp arr[j];arr[j] arr[j 1];arr[j 1] tmp;}}}System.out.println(Arrays.toString(arr));选择排序 介绍 将一组数据进行升序或降序排序 原理 每一次从待排序的数据元素中选出最小的一个元素存放在序列的起始位置然后再从剩余未排序元素中继续寻找最小元素然后放到已排序序列的末尾。以此类推直到全部待排序的数据元素排完。 规律 有n个元素就要比较n-1轮每一轮中都会选出一个最值元素较前一趟少比较一次 代码 //升序 int[] arr {5,8,3,6,1};for (int i 0; i arr.length - 1; i) {for (int j i 1; j arr.length; j) {if (arr[i] arr[j]){int tmp arr[i];arr[i] arr[j];arr[j] tmp;}}}System.out.println(Arrays.toString(arr)); //降序的话只需改成arr[i] arr[j]即可二分查找 前提 数组中的元素需要有序 介绍 也叫折半查找是在一组有序(升序/降序)的数据中查找一个元素它是一种效率较高的查找方法 原理 将目标元素与查找氛围的中间值作比较将目标元素分到较大/较小的一组重复上诉步骤知道目标元素中间值 注意 查找的过程中minmax作为循环的条件当minmax时循环结束查找元素不存在利用mid(minmax)/2索引来确定中间值 如果目标数中间值说明在右边minmid1如果目标数中间值说明在左边maxmid-1 代码 public static void main(String[] args) {int[] arr {2,4,6,8,9,11,15,36,59};int msg binarySearch(arr,1);if (msg 0){System.out.println(目标数不存在);}else {System.out.println(目标数存在索引为 msg);}}public static int binarySearch(int[] arr,int key){int min 0;int max arr.length - 1;while (min max){int mid (min max) / 2;if (key arr[mid]){return mid;}else if (key arr[mid]){min mid 1;}else {max mid -1;}}return -1;}
http://www.pierceye.com/news/48687/

相关文章:

  • 自助建设影视网站企业网站网页布局
  • 甘肃建设项目审批权限网站ps怎么制作网页效果图
  • 制作一个视频网站网站网页优化怎么做
  • 自己做商城网站能卖服装吗广州百度快速优化排名
  • 网站建设推广刺盾云建筑网站图纸
  • 不用关网站备案可视化app开发工具安卓版
  • 杭州手机网站中山公众号平台商场网站建设
  • app开发与网站开发有何不同专业手机网站怎么做
  • 锦州哪家做网站wordpress 转换成帝国
  • 网站技能培训机构专门做项目代理的网站
  • win10做网站服务器附近男科医院在哪里
  • 网站开发技术方案模板卖游戏辅助的网站怎么建设
  • 商务网站建设体会企业网站的建设费用
  • 龙岗外贸网站建设cms智能云平台
  • 抄袭的网站wordpress 导入分类
  • 找到做网站的公司鄱阳做网站
  • 网站项目接单小程序商城货源怎么找
  • 网站建设的基本要素有秦皇岛建设网招聘
  • 如何使用qq空间做推广网站正规seo关键词排名哪家专业
  • 苏州网站建设情况网页广告关不掉怎么办
  • 微信做单页的网站软件开发公司职位介绍
  • 上海建筑网站设计做旅游游客产品的网站
  • 长清网站建设价格越城网站建设公司
  • 淮安建设网站网站织梦后台怎么做
  • 安徽省建设厅网站首页网页设计模板 中文
  • 品牌网站设计图片怎么做淘宝联盟网站
  • 广州pc网站建设连锁网站开发
  • 营销型企业网站 网络服务百业网免费发布信息
  • 重庆公司网站建设步骤有没有免费的网站服务器
  • 有什么做服装的网站吗抖音代运营介绍