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

西部数码网站管理助手 301免费微信公众号素材网

西部数码网站管理助手 301,免费微信公众号素材网,百度站长平台网址,做定制的网站1、集合类图 1#xff09;ArrayList与LinkedList 区别 LinkedList 实现了双向队列的接口#xff0c;对于数据的插入速度较快#xff0c;只需要修改前后的指向即可#xff1b;ArrayList对于特定位置插入数据#xff0c;需要移动特定位置后面的数据#xff0c;有额外开销 …1、集合类图 1ArrayList与LinkedList 区别 LinkedList 实现了双向队列的接口对于数据的插入速度较快只需要修改前后的指向即可ArrayList对于特定位置插入数据需要移动特定位置后面的数据有额外开销 public class Test {public static void main(String[] args) {ListString list new ArrayListString();list.add(a);list.add(b);list.add(c);list.add(1,d);//相对LinkedList插入速度较慢System.out.println(list);System.out.println(list.get(1));//直接通过数据下标index获取数据查询速度相对LinkedList较快ListString linkedList new LinkedList();linkedList.add(a);linkedList.add(b);linkedList.add(c);linkedList.add(2,d);//相对ArrayList插入速度较快System.out.println(linkedList.get(1));//需要遍历整个队列查询速度相对ArrayList较慢System.out.println(linkedList);} } 2Set 存储的元素不重复元素重复的标准如下 i:先判断集合元素的hashCode是否在集合里面存在不存在认为是不重复的直接插入进集合插入集合的位置按照hash出来散列值排序 ii:如果集合元素的hashCode在集合里面存在需要再判断集合元素的内容是否一致存在hash冲突即不同的元素hash后产生相同的hashCode),调用equals方法如果内容不一致可以插入 iii:调用equals方法如果内容一致说明是重复则不插入集合import lombok.AllArgsConstructor; import lombok.Data;import java.util.Objects;Data AllArgsConstructor public class Student {private String num;//学号private String name;private int age;Overridepublic int hashCode() {return num.hashCode();//用学号计算hashCode}Overridepublic boolean equals(Object o) { //学号、姓名、年龄完全一致才认为是相同学生if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Student student (Student) o;return age student.age Objects.equals(num, student.num) Objects.equals(name, student.name);}Overridepublic String toString() {return this.hashCode() -Student{ num num \ , name name \ , age age };} } import java.util.*;public class Test {public static void main(String[] args) {SetStudent set new HashSetStudent();/*** set集合里面内容不可重复判断重复的标准是* 1先判断集合元素的hashCode是否在集合里面存在不存在认为是不重复的直接插入进集合插入集合的位置按照hash出来散列值排序* 2如果集合元素的hashCode在集合里面存在需要再判断集合元素的内容是否一致存在hash冲突即不同的元素hash后产生相同的hashCode),* 调用equals方法如果内容不一致可以插入* 3调用equals方法如果内容一致说明是重复则不插入集合*/Student s1 new Student(1, 张三, 18);//hashCode:49Student s2 new Student(2, 李四, 19);//hashCode:50set.add(s1);set.add(s2);System.out.println(set);//[49-Student{num1, name张三, age18}, 50-Student{num2, name李四, age19}]Student s4 new Student(1, 赵六, 18);//hashCode:49,此时集合中已经存在hashCode49的元素boolean add set.add(s4);//true hashCode与s1一致但是内容与s1不同可以插入System.out.println(set);//[49-Student{num1, name张三, age18}, 49-Student{num1, name赵六, age18}, 50-Student{num2, name李四, age19}]Student s5 new Student(1, 张三, 18);//hashCode:49,内容与s1完全一致,插入不成功add set.add(s5);System.out.println(add);//false} } 3TreeSet 实现了SortedSet 接口存放的元素可以按照自定义的顺序排序示例如下按照学生年龄升序排序 import java.util.*;public class Test {public static void main(String[] args) {SetStudent set new TreeSet((s1,s2) - {return s1.getAge() - s2.getAge();//定义排序的集合按照学生年龄升序排序});Student s1 new Student(1, 张三, 20);Student s2 new Student(2, 李四, 25);Student s3 new Student(3, 李四, 18);set.add(s1);set.add(s2);set.add(s3);//[51-Student{num3, name李四, age18}, 49-Student{num1, name张三, age20}, 50-Student{num2, name李四, age25}]System.out.println(set);} } 2、映射类图 1HashMap、LinkedHashMap、TreeMap 区别 HashMap: 按照key hash后的值大小顺序存放元素 LinkedHashMap有链表特性按照映射插入顺序存放元素 TreeMap:按照key的自然顺序或自定义排序key进行存放元素 示例代码如下 import java.util.*;public class Test {public static void main(String[] args) {MapString,Object map new HashMap();map.put(name,张三);map.put(age,18);map.put(num,001);//按照key-hash后的值大小顺序放入映射中System.out.println(map);//{num001, name张三, age18}MapString,Object linkedMap new LinkedHashMap();linkedMap.put(name,张三);linkedMap.put(age,18);linkedMap.put(num,001);//LinkedHashMap,有链表特性可以保证插入的顺序就是映射的顺序System.out.println(linkedMap);//{name张三, age18, num001}MapString,String treeMap new TreeMapString,String((s1,s2) - {return s2.compareTo(s1);//自定义排序按照字符串降序排列});treeMap.put(A1,A1);treeMap.put(A2,A2);treeMap.put(B1,B1);System.out.println(treeMap);//{B1B1, A2A2, A1A1}//遍历treeMap.forEach((key,value) - {System.out.println(key : value);});} }
http://www.w-s-a.com/news/242650/

相关文章:

  • 怎么做外贸网站推广劳务公司网站怎么做
  • 滴答手表网站中铁建设集团有限公司招聘信息2021
  • 重庆富通科技有限公司网站新闻头条最新消息国家大事
  • 四字母net做网站怎么样企业代运营公司
  • 纪检网站建设方案wordpress首页静态页面
  • 网站右下角浮动效果如何做网站logo设计在线生成
  • 西宁哪里做网站婚纱摄影网站设计思路
  • 凡科用模板做网站网站导入页欣赏
  • 北京响应式网站建设公司十大小程序开发公司
  • dw网站开发删除wordpress主题底部
  • 织梦网站怎样做子域名高德导航怎么看街景地图
  • 宿州专业网站建设株洲网站建设优化
  • 自动生成海报的网站常州建网站公司
  • 网站刷流量对网站有影响吗站长工具欧美高清
  • 百度做网站优化多少钱一年罗庄网站建设
  • 手机网站 自适应屏幕h5网站有哪些
  • 北京企业建站技术临沂网站公众号建设
  • 域名和网站备案一样吗wordpress 封装 app
  • 婚纱摄影网站开题报告c2c模式是什么意思
  • 网站几种颜色wordpress水平菜单
  • php做网站的分站wordpress边下边看
  • 杭州建设实名制报备网站Wordpress外贸网站搭建公司
  • 山西云起时网站建设计算机网站开发实现总结
  • 一个网站做两个优化可以做吗永清网站建设
  • wordpress英文采集wordpress seo 链接
  • 进入建设银行的网站就打不了字工程建设标准化网站
  • 杭州网站推广大全网站建设演讲稿
  • 厦门网站的制作太仓专业网站建设
  • 天津公司网站建设公司哪家好在阿里巴巴国际网站上需要怎么做
  • 网站关键词seo推广公司哪家好无锡市无锡市住房和城乡建设局网站