java 知识点 小结

1. Java 8种基本类型:byte  char  short int  long  double  float  boolean

  • Byte:8位
  • Short : 16位
  • Int: 32位
  • Long: 64位
  • Float: 32位
  • Double: 64位

2. List set map

List:有序;可重复;

  • Arraylist: 底层数据结构是数组,查询快,增删慢;线程不安全;效率高;
  • Vector: 底层数据结构是数组,查询快,线程安全;效率低;
  • LinkedList:底层数据结构是链表,查询慢,增删快;线程不安全,效率高;

Set:无序;唯一;

  • HashSet:底层数据结构是hash表;hash表依赖两个方法,hashCode()和equals();

         执行顺序:首先判断hashCode()值:是否相同,

                         是:继续执行equals(),看其返回值,

                               是true,说明元素重复,不添加;

                               是false,就直接添加;

                        否:直接添加到集合

                    LinkedHashSet:底层数据结构由链表和hash表组成;由链表保证元素有序;由 hash表保证元素唯一;

  • TreeSet:底层数据结构是红黑树。(是一种自平衡的二叉树)。

         如何保证元素唯一性呢?

            根据比较的返回值是否是0来决定。

        如何保证元素的排序呢? 两种方式:

            自然排序(元素具备比较性)

                让元素所属的类实现Comparable接口

        比较器排序(集合具备比较性)

                让集合接收一个Comparator的实现类对象

  • Map:key唯一,value可重复;

            HashMap:底层数据结构是hash表。线程不安全,效率高;

                hash表依赖两个方法,hashCode()和equals();

                    执行顺序:首先判断hashCode()值:是否相同,

                        是:继续执行equals(),看其返回值,

                            是true,说明元素重复,不添加;

                            是false,就直接添加;

                    否:直接添加到集合

        LinkedHashMap:

            底层数据结构由链表和hash表组成;

                由链表保证元素有序;

                    由hash表保证元素唯一;

        HashTable:底层数据结构是hash表。线程安全,效率低;

            hash表依赖两个方法,hashCode()和equals();

                执行顺序:首先判断hashCode()值:是否相同,

                    是:继续执行equals(),看其返回值,

                        是true,说明元素重复,不添加;

                        是false,就直接添加;

                    否:直接添加到集合

        TreeMap:底层数据结构是红黑树。(是一种自平衡的二叉树)。

            如何保证元素唯一性呢?

                根据比较的返回值是否是0来决定。

            如何保证元素的排序呢?两种方式:

                自然排序(元素具备比较性)

                    让元素所属的类实现Comparable接口

                比较器排序(集合具备比较性)

                    让集合接收一个Comparator的实现类对象

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java四类八种基本类型

整型byte字节型short短整型int            普通整型long长整型浮点型float        单精度double    双精度逻辑型boolean 只有true或者false两个值字符型char字符型

初级Java开发工程师!绝密文档,面试手册全面突击!!!秋招已经到来

这里我要明说一下,不是Java初级和学习Java的千万不要乱看,否则你会怀疑人生,因为会浪费你时间啊!!!本次考点是Java初级开发工程师面试必备的一些东西!!!1、数据类型基本类型cbyte/8、short/16、int/32、long/64、boolean/、char/16、float/32、double/64boolean只有两个值,true、f

00:Java简单了解

浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。