码迷,mamicode.com
首页 > 编程语言 > 详细

TreeSet,Map,Collections,多线程

时间:2019-12-05 22:27:36      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:void   ons   idt   排列   去重   mda   alt   call   bsp   

TreeSet:无序,不可重;

底层结构式是红黑树进行存储;

特点:默认从小到大排序;

技术图片

 

 

 可以定义比较规则,排序规则,并且可以使用去重原则:

内部比较器|自然排序: 实现Comparable接口,重写comparaTo方法,在方法中定义比较规则.,默认的比较规则;

技术图片

 

技术图片

 

 

 技术图片

 

 

 

 

外部比较器|指定比较器:实现一个Comparator接口,重写compare()方法,方法的内部定义比较规则

技术图片

 

 

 Map:存储的每一个数据都是一个键值对形式存在的  k,v——key 无序的,唯一的 -->就是一个set集合;value 无序的,可重复的

特点:

1.如果存储数据的时候,key相同,value的值会覆盖

 

2.如果一个key,想要对象多个value值,可以把多个value存在一个容器中,而容器对象但是一个

3.HashMap如果key是自定义的引用数据类型,去重问题:需要给key数据的类型重写hashcode和equals方法,能达到去重特点——key的值相同value的值不覆盖,需要在put之前进行判断。

技术图片

 

 

 TreeaMap:

特点::其中数据会自动升序排序

根据学生的身高进行排序:

实现的步骤:

  1.去重  实现内部|外部比较器 比较的原则根据key,不能根据value  

  2.根据需求排序

Properties Properties 可保存在流中或从流中加载。 key与value都是字符串类型的数据

配置文件使用:

  1.项目右键->source floder->file->添加键值对类型的数据

  2.通过Properties 的load方法,从资源文件中获取资源流,读入数据

Collections:

Collections操作容器的工具类:
      void sort(List) //对 List 容器内的元素排序,按照升序进行排序。
      void shuffle(List) //对 List 容器内的元素进行随机排列
      void reverse(List) //对 List 容器内的元素进行逆续排列
      void fill(List, Object) //用一个特定的对象重写整个 List 容器
      int binarySearch(List, Object)//采用折半查找的方法查找特定对象

多线程:

线程和进程之间的区别:略

多线程的开启方式:

  1. 继承Thread类,重写run()方法,在方法中定义多线程的线程体
  2. 实现Runnable接口,重写run()方法,在方法中定义多线程的线程体 ---推荐
  3. 实现Callable接口,重写call()方法,在方法中定义多线程的线程体

1.继承Thread类,重写run()方法,在方法中定义多线程的线程体

技术图片

 

 2.实现Runnable接口,重写run()方法,在方法中定义多线程的线程体 ---推荐

特点:接口可以多实现,类只能单继承;实现资源共享

技术图片

 

 

  

 

 

 

TreeSet,Map,Collections,多线程

标签:void   ons   idt   排列   去重   mda   alt   call   bsp   

原文地址:https://www.cnblogs.com/lingxi2b2/p/11991875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!