首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java基础(九):容器

泛型:定义集合时候同时定义集合对象类型 好处: 增强程序可读性和安全性 6.术语辨析 集合和数组比较 Collection和Collections区别 ArrayList和LinkedList...具体如下: 1:数组能存放基本数据类型对象,而集合只能放对象。 2 : 数组容量固定且无法动态改变,集合类容量动态改变。...3:数组无法判断其中实际存有多少元素,length只告诉了array容量 4:集合有多种实现方式和不同适用场合,不像数组仅采用顺序表方式 5:集合以类形式存在,具有封装、继承、多态等类特性,通过简单方法和属性调用即可实现各种复杂操作...Java还有一个Collections类,专门用来操作集合类 ,它提供一系列静态方法实现对各种集合搜索、排序、线程安全化等操作。...新接口 Vector线程安全,ArrayList重速度轻安全,线程安全 长度需增长时,Vector默认增长一倍,ArrayList增长50% HashMap和Hashtable联系和区别 实现原理相同

81020

java面试题-javaSE基础

方法重载规则: 方法名一致,参数列表参数顺序,类型,个数不同。 重载与方法返回值无关,存在于父类和子类,同类 可以抛出不同异常,可以不同修饰符。...一个可以实现多个接口 相同点: 不能被实例化 可以将抽象类和接口类型做为引用类型 一个类如果继承了某个抽象类或者某个接口都需要对其中抽象方法全部实现,否则该类需要被声明为抽象类。...靠是父类或接口定义引用变量可以指向子类具体实现实例对象,而程序调用方法运行期间才能动态绑定,就是引用变量所指向具体实例对象方法,也就是内存里正在运行那个对象方法,而不是引用变量类型定义方法...,其键是不能重复,它值是可以有重复 Set 存储数据是无序,且不允许有重复,但元素集合位置由元素 hashcode 决定,位置是固定 实现类: List 接口有三个实现类(LinkedList...区别 : List 集合对象按照索引位置排序,可以有重复对象,允许按照对象集合索引位置检索对象,例如通过list.get(i)方法来获取集合元素; Map 一个元素包含一个键和一个

12210
您找到你想要的搜索结果了吗?
是的
没有找到

看完这篇Java基础,你也是天花板

char可以存储汉字? 当然是可以,char类型存储是Unicode编码,Unicode编码是存在中文,所以char自然可以存储汉字,但是!仅限于Unicode存在汉字。...主要有以下区别: 1、存储位置 基本变量类型方法定义全局基本数据类型变量具体内容是存储 引用数据类型变量其具体内容都是存放在堆,而栈存放是其具体内容所在内存地址 2、传递方式...4.一个可以实现多个接口,但只能继承一个抽象类。 具体应用: 接口系统架构设计方法中发挥着巨大作用,主要用于定义模块之间通信契约。 而抽象类代码实现方面发挥作用,可以实现代码重用。...重载:发生在同一个,方法名相同参数列表不同(参数类型不同、个数不同、顺序不同),与方法返回值和访问修饰符无关,即重载方法不能根据返回类型进行区分 重写:发生在父子类,方法名、参数列表必须相同,返回值小于等于父类...因为一个属于电视类一个属于空调类。不同可以相同名称方法和属性,但不会混淆。 继承 继承主要思想就是将子类对象作为父类对象来使用。比如王者荣耀英雄作为父类,后裔作为子类。

41011

【附答案】Java面试2019常考题目汇总(一)

Float和long类型必须加后缀。 首先知道String是引用类型不是基本类型,引用类型声明变量是指该变量在内存实际存储一个引用地址,实体。引用类型包括类、接口、数组等。...面向对象四大基本特性: 抽象:提取现实世界某事物关键特性,为该事物构建模型过程。对同一事物不同需求下,需要提取特性可能不一样。得到抽象模型中一般包含:属性(数据)和操作(行为)。...父类引用指向不同子类对象时,调用相同方法,呈现出不同行为;就是类多态特性。多态可以分成编译时多态和运行时多态。 抽象、封装、继承和多态是面向对象基础。...保证线程安全情况下使用泛型和并发集合类,Java已经经历了很久。它还包括Java并发包,阻塞接口以及它们实现。...因为hashcode相同,所以它们bucket位置相同,‘碰撞’会发生。因为HashMap使用链表存储对象,这个Entry(包含有键值对Map.Entry对象)会存储链表

51210

Java面试2018常考题目汇总(一)

Float和long类型必须加后缀。 首先知道String是引用类型不是基本类型,引用类型声明变量是指该变量在内存实际存储一个引用地址,实体。引用类型包括类、接口、数组等。...面向对象四大基本特性: 抽象:提取现实世界某事物关键特性,为该事物构建模型过程。对同一事物不同需求下,需要提取特性可能不一样。得到抽象模型中一般包含:属性(数据)和操作(行为)。...父类引用指向不同子类对象时,调用相同方法,呈现出不同行为;就是类多态特性。多态可以分成编译时多态和运行时多态。 抽象、封装、继承和多态是面向对象基础。...保证线程安全情况下使用泛型和并发集合类,Java已经经历了很久。它还包括Java并发包,阻塞接口以及它们实现。...因为hashcode相同,所以它们bucket位置相同,‘碰撞’会发生。因为HashMap使用链表存储对象,这个Entry(包含有键值对Map.Entry对象)会存储链表

788100

Java面试2018常考题目汇总

Float和long类型必须加后缀。 首先知道String是引用类型不是基本类型,引用类型声明变量是指该变量在内存实际存储一个引用地址,实体。引用类型包括类、接口、数组等。...面向对象四大基本特性: 抽象:提取现实世界某事物关键特性,为该事物构建模型过程。对同一事物不同需求下,需要提取特性可能不一样。得到抽象模型中一般包含:属性(数据)和操作(行为)。...父类引用指向不同子类对象时,调用相同方法,呈现出不同行为;就是类多态特性。多态可以分成编译时多态和运行时多态。 抽象、封装、继承和多态是面向对象基础。...保证线程安全情况下使用泛型和并发集合类,Java已经经历了很久。它还包括Java并发包,阻塞接口以及它们实现。...因为hashcode相同,所以它们bucket位置相同,‘碰撞’会发生。因为HashMap使用链表存储对象,这个Entry(包含有键值对Map.Entry对象)会存储链表

56630

Java 面试问题大全

2)volatile 能使得一个原子操作变成原子操作一个典型例子是类中有一个 long 类型成员变量。...并且需要知道 clone() 方法是一个本地方法,这意味着它是由 c 或 c++ 或 其他本地语言实现。 23)Java ++ 操作符是线程安全? 不是线程安全操作。...相等 hashcode 值规定只是说如果两个对象相等,必须有相同hashcode 值,但是没有关于不相等对象任何规定。 62)两个相同对象会有不同 hash code ?...重载和重写都允许你用相同名称来实现不同功能,但是重载是编译时活动,而重写是运行时活动。你可以一个重载方法,但是只能在子类重写方法。重写必须要有继承。...菱形操作符()用于类型推断,不再需要在变量声明右边申明泛型,因此可以写出可读写更强、更简洁代码。另一个值得一提特性是改善异常处理,如允许一个 catch 块捕获多个异常。

88340

Java集合泛型面试题(含答案)

4、泛型常用特点 (待补充) 泛型是Java SE 1.5之后特性, 《Java 核心技术》对泛型定义是:“泛型” 意味着编写代码可以不同类型对象所重用。...,但在我们使用时候通过具体规则来约束,如我们可以约束集合只存放Integer类型元素,如 ?...以集合来举例,使用泛型好处是我们不必因为添加元素类型不同而定义不同类型集合,如整型集合类,浮点型集合类,字符串集合类,我们可以定义一个集合来存放整型、浮点型,字符串型数据,而这并不是最重要,因为我们只要把底层存储设置了...如果 equals 为 false 就不是同一个元素。 哈希值相同 equals 为 false 元素是怎么存储呢,就是同样哈希值下顺延(可以认为哈希值相同元素放在一个哈希桶)。...> 逻 辑 上 是List,List 等所有 List父类。 24、类型擦除 Java 泛型基本上都是在编译器这个层次来实现

1.1K30

Java面试基础必备知识点,怼死面试官,从我做起

参考这个文档获取更多关于封装细节和示例。 多态 多态是编程语言给不同底层数据类型相同接口展示一种能力。一个多态类型操作可以应用到其他类型值上面。...4.可以static环境访问static变量? static变量Java是属于类,它在所有的实例值是一样。当类被Java虚拟机载入时候,会对static变量进行初始化。...Java方法重载发生在同一个类里面两个或者是多个方法方法名相同但是参数不同情况。与此相对,方法覆盖是说子类重新定义了父类方法。方法覆盖必须有相同方法名,参数列表和返回类型。...迭代器可以迭代过程删除底层集合元素。 克隆(cloning)或者是序列化(serialization)语义和含义是跟具体实现相关。...因此,如果我们能估计出存储元素数目,我们可以设置初始容量来避免重新计算hash值或者是扩容。 为了类型安全,可读性和健壮性原因总是要使用泛型。

2.5K80

Java基础-甲骨文系列

泛型使用过程,操作数据类型被指定为一个参数,这种参数类型称为泛型类、接口中称为泛型接口和方法称为泛型方法。...简述重载与重写区别 重写即子类重写父类方法,方法对应形参和返回值类型都不能变。 重载即在一个,方法名相同,参数类型或数量不同,这个和返回类型无关。...对于equals方法,该方法未被重写时,其效果和==一致,但用户可以根据对应需求对判断逻辑进行改写,比如直接比较对象某个属性值是否相同相同则返回true,不同则返回false。...简述JAVAList List是一个有序队列,JAVA中有两种实现方式:{一个是数组形式,一个是链表形式} ArrayList 使用数组实现,是容量可变线程安全列表,随机访问快,集合扩容时会创建更大数组...HashSet存储元素是不能重复,主要通过hashCode与equals两个方法来判断存储对象是否相同: 如果两个对象hashCode值不同,说明两个对象相同

81710

手撕面试官系列:BAT面试常问85题

串行(serial)收集器和吞吐量(throughput)收集器区别是什么? Java 对象什么时候可以被垃圾回收?...列字符串类型可以是什么? MySQL 中使用什么存储引擎? TIMESTAMP UPDATE CURRENT_TIMESTAMP 数据类型上做什么? 主键和候选键有什么区别?...说说 ArrayList,Vector, LinkedList 存储性能和特性。 快速失败 (fail-fast) 和安全失败 (fail-safe) 区别是什么? hashmap 数据结构。...两个对象相同 (x.equals(y) == true),但却可有不同 hash code,这句话对不对? heap 和 stack 有什么区别。 Java 集合类框架基本接口有哪些?...volatile 类型变量提供什么保证?能使得一个原子操作变成原子操作

67820

Java基础面试题2

什么时候被执行,return前还是后 答:会执行,return前执行 23、用最有效率方法算出2乘以8等 答:2 << 3 24、两个对象相同(x.equals(y) == true),但却可有不同...引用类型和原始类型具有不同特征和用法,它们包括:大小和速度问题,这种类型以哪种类型数据结构存储,当引用类型和原始类型用作某个类实例数据时所指定缺省值。...堆是栈一个组成元素 42、Java接口和C++虚类相同不同处 答:由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。...List 具体实现包括 ArrayList 和 Vector,它们是可变大小列表,比较适合构建、存储和操作任何类型对象元素列表。 List 适用于按数值索引访问元素情形。...try块可以抛出异常? 答:Java通过面向对象方法进行异常处理,把各种不同异常进行分类,并提供了良好接口。Java,每个异常都是一个对象,它是Throwable类或其它子类实例。

46220

Java基础八股文(背诵版)

覆盖要求参数列表相同;重载要求参数列表不同。 覆盖,调用方法体是根据对象类型来决定,而重载是根据调用时实参表与形参表来对应选择方法体。...重载方法可以改变返回值类型,覆盖方法不能改变返回值类型。 接口和抽象类相同点和不同点? 相同点: 都不能被实例化。 接口实现类或抽象类子类需实现接口或抽象类相应方法才能被实例化。...节省空间:字符串常量存储 JVM 字符串池中可以被用户共享。 提高效率:String 可以不同线程共享,是线程安全涉及多线程操作不需要同步操作。...简述 Java List List 是一个有序队列, Java 中有两种实现方式: ArrayList 使用数组实现,是容量可变线程安全列表,随机访问快,集合扩容时会创建更大数组,把原有数组复制到新数组...HashSet 存储元素是不能重复,主要通过 hashCode 与 equals 两个方法来判断存储对象是否相同: 如果两个对象 hashCode 值不同,说明两个对象相同

43.7K2738

JAVA初级岗面试知识点——基础篇

区别 44、ArrayList 与 LinkedList 区别 45、如何使用 List 集合来保证线程安全 46、IO 和 NIO 区别 47、 Java 要想实现多线程代码有三种手段 48...封装是将 属性,方法等放在一个,体现了java语言安全性,继承是子类继承了父类后便有了父类特性,多态则是父类引用指向子类地址,执行不同操作,继承和多态体现了java语言灵活性,易扩展性。...类,接口类型,数组类型,枚举类型,注解类型 基本数据类型与引用数据类型区别 基本数据类型在被创建时,会在栈上分配空间,直接将之存储。...重载: 发生在同一个,多个方法名称相同,参数类型,个数和顺序不同方法发生重载现象,与返回值无关。 18、运算符 &和&&区别?...实现类 特征 HashMap 线程不安全键值对集合,允许 null 值,key 和 value 都可以 HashTable 线程安全键值对集合,不允许 null 值,key 和 value 都不可以

44720

115个Java面试题和答案——终极列表(上)

本文我们将要讨论Java面试各种不同类型面试题,它们可以让雇主测试应聘者Java和通用面向对象编程能力。...参考这个文档获取更多关于封装细节和示例。 多态 多态是编程语言给不同底层数据类型相同接口展示一种能力。一个多态类型操作可以应用到其他类型值上面。...而抽象类则可以同时包含抽象和抽象方法。 类可以实现很多个接口,但是只能继承一个抽象类 类如果要实现一个接口,它必须要实现接口声明所有方法。...迭代器可以迭代过程删除底层集合元素。 克隆(cloning)或者是序列化(serialization)语义和含义是跟具体实现相关。...因此,如果我们能估计出存储元素数目,我们可以设置初始容量来避免重新计算hash值或者是扩容。 为了类型安全,可读性和健壮性原因总是要使用泛型。

47810

115个Java面试题和答案——终极列表(上)

本文我们将要讨论Java面试各种不同类型面试题,它们可以让雇主测试应聘者Java和通用面向对象编程能力。...多态 多态是编程语言给不同底层数据类型相同接口展示一种能力。一个多态类型操作可以应用到其他类型值上面。 继承 继承给对象提供了从基类获取字段和方法能力。...继承提供了代码重用行,也可以不修改类情况下给现存类添加新特性。 抽象 抽象是把想法从具体实例中分离出来步骤,因此,要根据他们功能而不是实现细节来创建类。...迭代器可以迭代过程删除底层集合元素。 克隆(cloning)或者是序列化(serialization)语义和含义是跟具体实现相关。...因此,如果我们能估计出存储元素数目,我们可以设置初始容量来避免重新计算hash值或者是扩容。 为了类型安全,可读性和健壮性原因总是要使用泛型。

33520

Java基础面试题整理

3,两个对象hashCode()相同,则equals也一定相同?...6,String属于基础数据类型? 不属于,String是java定义一个最终类。 7,java操作字符串都有哪些类,他们之间有什么区别?...接口由类实现,抽象类由类继承 接口中所有的方法都是抽象方法(JDK1.8之前),所有的变量都是公共常量,抽象类可以有抽象方法也可以具体方法实现,变量为普通变量。...分布式对象里,像数据,对象都有不同格式,有了序列化传输时就很方便,另外需要将内存对象存储到硬盘上或者数据库里就需要用到序列化。 3,动态代理是什么?有哪些运用?...4,动态代理设计模式 而动态代理更强调是控制访问,代理类可以对它客户隐藏一个具体对象信息,相当于在这个过程可以控制对象做其他事,偏重在对某一个功能把控流程和辅助(大意就是并不是别人方法上装饰我自己要方法

2.2K40

疯转|最近5年133个Java面试问题列表

2)volatile 能使得一个原子操作变成原子操作一个典型例子是类中有一个 long 类型成员变量。...并且需要知道 clone() 方法是一个本地方法,这意味着它是由 c 或 c++ 或 其他本地语言实现。 23)Java ++ 操作符是线程安全?(答案) 23)不是线程安全操作。...相等 hashcode 值规定只是说如果两个对象相等,必须有相同hashcode 值,但是没有关于不相等对象任何规定。 62)两个相同对象会有不同 hash code ?...(答案) 重载和重写都允许你用相同名称来实现不同功能,但是重载是编译时活动,而重写是运行时活动。你可以一个重载方法,但是只能在子类重写方法。重写必须要有继承。...菱形操作符()用于类型推断,不再需要在变量声明右边申明泛型,因此可以写出可读写更强、更简洁代码。另一个值得一提特性是改善异常处理,如允许一个 catch 块捕获多个异常。

2K50

Java面试宝典:42个面试题总结!

本文我们将要讨论Java面试各种不同类型面试题,它们可以让雇主测试应聘者Java和通用面向对象编程能力。...参考这个文档获取更多关于封装细节和示例。 多态 多态是编程语言给不同底层数据类型相同接口展示一种能力。一个多态类型操作可以应用到其他类型值上面。...而抽象类则可以同时包含抽象和抽象方法。 类可以实现很多个接口,但是只能继承一个抽象类 类如果要实现一个接口,它必须要实现接口声明所有方法。...迭代器可以迭代过程删除底层集合元素。 克隆(cloning)或者是序列化(serialization)语义和含义是跟具体实现相关。...因此,如果我们能估计出存储元素数目,我们可以设置初始容量来避免重新计算hash值或者是扩容。 为了类型安全,可读性和健壮性原因总是要使用泛型。

27410

Java基础面试系列(二)

(一般子类会重写) equals比较两个对象是否相等 clone克隆一份对象,此时克隆对象堆内存重新创建,并返回了内存地址 具体使用时候需要实现Cloneable接口否则抛出CloneNotSuppoertedException...Java类是对一组行为或者特征描述,对象则为所描述特征和行为具体实现。而作为概念层次类,其本身也拥有某些共同特性,如都具有类名称、由类加载器加载,都具有父类,属性和方法等。...hashcode方法 一个例子:向Set集合添加数据时候,首先需要判断这个集合是否存在这个元素,不存在才添加,如果没有hashcode的话,需要对集合进行遍历,才可以,此时时间复杂度达到了O(...静态 静态 finalize,final,finally区别 finalize是Obejct类方法,JVM回收对象之前调用 final是一个关键字,可以用来修饰类,成员变量,局部变量,成员方法...ArrayList和LinkedList区别 都不安全,线程不同步 ArrayList底层是Object数组初始容量为10,递增策略为1.5倍;LinkedList基于双向链表实现,本身存储一个节点

55500
领券