java 知识点 小结

Wesley13
• 阅读 453

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的实现类对象

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
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
初级Java开发工程师!绝密文档,面试手册全面突击!!!秋招已经到来
这里我要明说一下,不是Java初级和学习Java的千万不要乱看,否则你会怀疑人生,因为会浪费你时间啊!!!本次考点是Java初级开发工程师面试必备的一些东西!!!1、数据类型基本类型cbyte/8、short/16、int/32、long/64、boolean/、char/16、float/32、double/64boolean只有两个值,true、f
Wesley13 Wesley13
2年前
java四类八种基本类型
整型byte字节型short短整型int            普通整型long长整型浮点型float        单精度double    双精度逻辑型boolean 只有true或者false两个值字符型char字符型
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
2年前
Java源码解读(一) 8种基本类型对应的封装类型
说起源码其实第一个要看的应该是我们的父类Object,这里就不对它进行描述了大家各自对其进行阅读即可(其中留意wait()方法可能会存在虚假唤醒的情况)。一、八种基本类型接下来介绍我们的八种基本类型(这个大家都知道吧):char、byte、short、int、long、float、double、boolean。这里也不太描述其过多的
Wesley13 Wesley13
2年前
JAVA基本类型和引用类型
一、基本数据类型java中一共分为8种基本数据类型:byte、short、int、long、float、double、char、boolean,其中byte、short、int、long是整型。float、double是浮点型,char是字符型,boolean是布尔型。二、引用类型j
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
小万哥 小万哥
11个月前
Java基础知识:面试官必问的问题
数据类型基本类型byte/8char/16short/16int/32float/32long/64double/64boolean/boolean只有两个值:true、false,可以使用1bit来存储,但是具体大小没有明确规定。JVM会在编译时期将bo
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这