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

务实java基础之集合总结

Vector , addElement()便是我们插入对象采用方法,而 elementAt()是 提取对象唯一方法。...但假若开始决定使用Vector,后来程序又决定(考虑执行效率原因)改变成一个 List(属于 Java1.2 集合库一部分),这时又该如何做呢?...取得一系列对象,然后在其中遍历,从而执行一个特定操作—— 这是一个颇有价值编程概念 集合类型 V e c t o r 崩溃 Java Java 标准集合里包含了 toString()方法,...但在另一方面,请考虑采用“合成”方法:将一个对象置入一个新类内部。此时,不是改写上述代码来达到这个目的,而是新类里简单地使用一个 SortVector。...一个对象,并用它单个compare()方法进行比较。

54720

Java学习笔记——集合

(基本数据类型 & 引用数据类型) 和集合 (引用数据类型),用数组存储对象弊端有:一旦创建,其长度不可变;数组真正存储对象个数不可知,除非自定义类。...: Comparable Comparator 容器工具类: Collections Java5 之前,Java 集合会丢失容器中所有对象数据类型,把所有对象都当成 Object 类型处理;从 Java5...增加了泛型以后,Java 集合可以记住容器对象数据类型。...当向 HashSet 集合存入一个元素时,HashSet 会调用该对象 hashCode() 方法来得到该对象 hashCode ,然后根据 hashCode 决定该对象 HashSet 存储位置...向TreeSet添加必须是同一个类对象,并且这个类必须实现Comparable接口并实现compareTo(Object obj)方法(或使用Comparator),TreeSet两个对象通过该方法返回来比较大小

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

40个Java集合类面试题和答案

Map包含key-value对,它提供抽取key或value列表集合方法,但是它不适合“一组对象”规范。 6.Iterator是什么?...迭代器取代了Java集合框架Enumeration。迭代器允许调用者从集合移除元素,而Enumeration不能做到。为了使它功能更加清晰,迭代器方法名已经经过改善。...当集合创建时,枚举集合所有元素必须来自单个指定枚举类型,可以是显示或隐示。EnumSet是不同步,不允许为null元素。...Java1.5并发API包括一些集合类,允许迭代时修改,因为它们都工作集合克隆上,所以它们多线程环境是安全。 29.并发集合类是什么?...Comparable接口有compareTo(T OBJ)方法,它被排序方法所使用。我们应该重写这个方法,如果“this”对象比传递对象参数更小、相等或更大时,它返回一个负整数、0或正整数。

62730

40个Java集合面试问题和答案

Map包含key-value对,它提供抽取key或value列表集合方法,但是它不适合“一组对象”规范。 6.Iterator是什么? Iterator接口提供遍历任何Collection接口。...我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架Enumeration。迭代器允许调用者迭代过程移除元素。...当集合创建时,枚举集合所有元素必须来自单个指定枚举类型,可以是显示或隐示。EnumSet是不同步,不允许为null元素。...Java1.5并发API包括一些集合类,允许迭代时修改,因为它们都工作集合克隆上,所以它们多线程环境是安全。 29.并发集合类是什么?...Comparable接口有compareTo(T OBJ)方法,它被排序方法所使用。我们应该重写这个方法,如果“this”对象比传递对象参数更小、相等或更大时,它返回一个负整数、0或正整数。

77630

Java 集合系列11: Hashtable深入解析(1)

容量 是哈希表数量,初始容量 就是哈希表创建容量。注意,哈希表状态为 open:发生“哈希冲突”情况下,单个桶会存储多个条目,这些条目必须按顺序搜索。...找到“key对应Entry(链表)”,然后链表找出“哈希”和“键值”与key都相等元素 for (Entry e = tab[index] ; e !...int index = (hash & 0x7FFFFFFF) % tab.length; // 找到“key对应Entry(链表)”,然后链表找出“哈希”和“...// (02) 创建一个“新Entry数组”,并赋值给“旧Entry数组” // (03) 将“Hashtable”全部元素依次添加到“新Entry数组” protected...0;此时,又要通过Enumeration遍历Hashtable时,返回是“空枚举类”对象

71220

day09_request&response学习笔记

Web服务器收到客户端http请求,会针对每一次请求,分别创建一个用于代表请求request对象、和代表响应response对象。     ...方法形参request和response是由服务器创建service执行之前就已经创建好了,分别是两个对象(是不需要new,服务器帮你干了)。   ...  2、请求消息头     HttpServletRequest接口方法:       String getHeader(String name) 根据头名称得到头信息       Enumeration...; 8 import java.lang.reflect.Method; 9 import java.util.Enumeration; 10 import java.util.Map; 11... name) 根据表单name属性名,获取value属性       String[] getParameterValues(String name) 专为复选框获取值提供方法       Enumeration

41120

java 枚举(enum) 全面解读

类加载时创建,保证线程安全 从Color类可以看出, Color对象静态域创建,由类加载时初始化,JVM保证线程安全,这样就能确保Color对象不会因为并发同时请求而错误创建多个实例....而枚举则不同,序列化时候Java仅仅是将枚举对象name属性输出到结果,反序列化时候则是通过EnumvalueOf()方法来根据名字查找枚举对象。...反射创建单例对象 解决方案 : 构造上述判断,当多于一个实例时,再调用构造函数,直接报错. 反序列化时创建对象 解决方案 : 使用readResolve()方法来避免此事发生....... } } 所以,枚举实现单例,可以说是完美和简洁单例了.推荐大家使用这种方式创建单例....(此处还忽略了$VALUS数组创建消耗). 单个枚举类型常量,比static final声明常量占用内存大多.

78510

Java 中文官方教程 2022 版(二十七)

JDK 还包含返回集合而不是单个缩减操作。许多缩减操作执行特定任务,比如找到平均值或将元素分组到类别。...(如果您在并行流运行collect方法,那么当合并器函数创建一个新对象时,例如在这个例子创建一个Averager对象时,JDK 会创建一个新线程。因此,您不必担心同步。)...代码Person::getAge是什么一个例子? 将流内容组合并返回一个终端操作被称为什么? Stream.reduce方法和Stream.collect方法之间一个重要区别是什么?...java.util.concurrent包含几个集合实现,这些实现是线程安全,但不受单个排他锁控制。...这样列表文本处理中经常出现,可以进行运行长度编码 — 运行可以表示为包含重复元素和连续重复次数单个对象

2900

Vector:动态数组使用和说明

Vector 类 java 可以实现自动增长对象数组; 创建了一个向量类对象后,可以往其中随意地插入不同对象,既不需顾及类型也不需预先选定向量容量,并可方便地进行查找。...Java,数组对象一旦创建后,其元素个数 不能被修改。而Java.util包Vector类(向量)提供类似于数组能力,且能够动态地调整自身大小。...(2)程序定义了Enumeration一个对象 Enumerationjava.util一个接口类,Enumeration中封装了有关枚举数据集合方法。...java.util包其它类也大都有这类方法,以便于用户获取对应枚举类型。 Java,数组对象一旦创建后,其元素个数 不能被修改。...(2)程序定义了Enumeration一个对象 Enumerationjava.util一个接口类,Enumeration中封装了有关枚举数据集合方法

75910

java 对象池技术

1、为什么用对象 java 对象生命周期包括对象创建对象使用,对象消失三个时间段,其中对象使用是对象真正需要存活时间,不好修改,该用时候还得使用啊。...对象创建和消失就得好好控制下了。对象创建是比较费时间,也许感觉不到,好比一个赋值操作int i=1,也是需要耗时比如构造一个对象,一个数组就更加消耗时间。...再说对象消除, java 里面使用 GC 来进行对象回收,其实也是需要对对象监控每一个运行状态,包括引用,赋值等。 Full GC 时候,会暂停其他操作,独占 CPU。...接下来把对象池写出来 import java.util.Enumeration;import java.util.Vector;public abstract class ObjectPool...PoolableObjectFactory 定义了池化对象生命周期方法,我们可以使用它分离被池化不同对象和管理对象创建,持久,销毁。

2.1K40

09 枚举类

程序执行过程很有可能给 day 变量传入一个任意整数值,可能导致程序出现错误。 程序不方便调试。程序调试时,如果通过日志输出day,那么只能看到 0~4 之间数值。...Java 5 之后可以使用枚举类型了,Java枚举类型作用已经不仅仅是定义一组常量提高程序可读性了,还具有如下特性: Java 枚举类型是一种类,是引用类型,具有了面向对象特性,可以添加方法和成员变量等... Comparable 接口,都可以通过方法compareTo与其他枚举进行比较。...这也说明了枚举类不允许在外部创建对象。 枚举常用方法 所有枚举类都继承java.lang.Enum类,Enum定义了一些枚举中常用方法: int ordinal():返回枚举常量顺序。...每个枚举经常有一个关联标识符,为枚举常量声明顺序,ordinal会从从数字 0 开始。 枚举类型[] values():静态方法,返回一个包含全部枚举常量数组。

32610

java高级用法之:JNA中使用类型映射

简介 JNA中有很多种映射,library映射,函数映射还有函数参数和返回映射,libary和函数映射比较简单,我们之前文章已经讲解过了,对于类型映射来说,因为JAVA类型种类比较多...类型映射本质 我们之前提到JNA中有两种方法来映射JAVA方法和native libary方法,一种方法叫做interface mapping,一种方式叫做direct mapping。...比如native有一个方法,我们是如何将JAVA代码方法参数传递给native方法,并且将native方法返回转换成JAVA函数返回类型呢? 答案就是序列化。...因为本质上一切交互都是二进制交互。JAVA类型和native类型进行转换,简单情况就是JAVA类型和native类型底层数据长度保持一致,这样进行数据转换时候就会更加简单。...简单方法就是将其添加到Native.load第三个参数,如下所示: TestLibrary lib = Native.load("testlib", TestLibrary.class, Collections.singletonMap

1.3K30

Java基础小结(三)

Hashtable) 属性(Properties) 以上这些类是传统遗留Java2引入了一种新框架-集合框架(Collection) 枚举(Enumeration) 枚举(Enumeration...枚举(The Enumeration)接口定义了一种从数据结构取回连续元素方式。 例如,枚举定义了一个叫nextElement 方法,该方法用来得到一个包含多元素数据结构下一个元素。...迭代器 iterator 用法 Java Iterator 功能比较简单,并且只能单向移动: (1) 使用方法 iterator() 要求容器返回一个 Iterator。...通过实现 Runnable 接口来创建线程 创建一个线程,简单方法创建一个实现 Runnable 接口类。...创建一个实现 Runnable 接口类之后,你可以实例化一个线程对象

52510

java集合详解和集合面试题目

2、Set(无序、不能重复) Set里存放对象是无序,不能重复,集合对象不按特定方式排序,只是简单地把对象加入集合。...Map包含key-value对,它提供抽取key或value列表集合方法,但是它不适合“一组对象”规范。 6.Iterator是什么?...迭代器取代了Java集合框架Enumeration。迭代器允许调用者从集合移除元素,而Enumeration不能做到。为了使它功能更加清晰,迭代器方法名已经经过改善。...当集合创建时,枚举集合所有元素必须来自单个指定枚举类型,可以是显示或隐示。EnumSet是不同步,不允许为null元素。...Comparable接口有compareTo(T OBJ)方法,它被排序方法所使用。我们应该重写这个方法,如果“this”对象比传递对象参数更小、相等或更大时,它返回一个负整数、0或正整数。

63020

JavaSE-汇总

去掉setXxx 方法, 防止属性被修改 //3. Season 内部,直接创建固定对象 //4....和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入代码补充信息。 JavaSE ,注解使用目的比较简单,例如标记过时功能,忽略警告等。...异常处理方式 try-catch-finally 程序员代码捕获发生异常,自行处理 throws 将发生异常抛出,交给调用者(方法)来处理,顶级处理者就是JVM try-catch 异常处理...泛型本质是 参数化类型,熟悉就是定义方法时候需要形参,调用方法时候,需要传递实参。...private成员变量month,day,year; 并为每一个属性定义getter,setter方法; 创建该类3个对象,并把这些对象放入ArrayList集合(ArrayList需使用泛型来定义

1.4K10

适配器模式浅析

开始本文之前,我们先来看下生活一些场景,比如有些插头需要三口插座转两口插座。 ? 又如美国电压是110v,而中国电压是220v。...主要包含如下几个部分: Target 定义Client使用与特定领域相关接口。 Adaptee 定义一个已经存在接口,这个接口需要适配。...这些源类不一定有很复杂接口。 对对象适配器模式而言,设计里,需要改变多个已有的子类接口,如果使用类适配器模式,就要针对每一个子类做一个适配器类,而这不太实际。...4.3 JDK适配器模式例子 JDK提供了多个适配器模式例子,如 java.util.Arrays#asList() java.util.Collections#list() java.util.Collections...* @see Enumeration */ public static Enumeration enumeration(final Collection

44340

面试必备:30 个 Java 集合面试问题及答案

Java集合框架为Java编程语言基础,也是Java面试很重要一个知识点。这里,我列出了一些关于Java集合重要问题和答案。 1.Java集合框架是什么?说出一些集合框架优点?...Map包含key-value对,它提供抽取key或value列表集合方法,但是它不适合“一组对象”规范。 6.Iterator是什么? Iterator接口提供遍历任何Collection接口。...我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架Enumeration。迭代器允许调用者迭代过程移除元素。...Java1.5并发API包括一些集合类,允许迭代时修改,因为它们都工作集合克隆上,所以它们多线程环境是安全。 25.并发集合类是什么?...Stack是一个扩展自Vector类,而Queue是一个接口。 27.Collections类是什么Java.util.Collections是一个工具类仅包含静态方法,它们操作或返回集合。

95920

ava enum(枚举)使用详解 + 总结

enum 全称为 enumeration, 是 JDK 1.5 引入新特性,存放在 java.lang 包。...下面是我使用 enum 过程一些经验和总结,主要包括如下内容: 1. 原始接口定义常量 2. 语法(定义) 3. 遍历、switch 等常用操作 4. enum 对象常用方法介绍 5....语法(定义) 创建枚举类型要使用 enum 关键字,隐含了所创建类型都是 java.lang.Enum 类子类(java.lang.Enum 是一个抽象类)。...枚举类型每一个都将映射到 protected Enum(String name, int ordinal) 构造函数,在这里,每个名称都被转换成一个字符串,并且序数设置表示了此设置被创建顺序...String toString() 返回枚举常量名称,它包含在声明

79430

Java面试题库及答案解析

一个多态类型上操作可以应用到其他类型上面。 抽象 抽象是把想法从具体实例中分离出来步骤,因此,要根据他们功能而不是实现细节来创建类。Java支持创建只暴露接口而不包含方法实现抽象类。...6、是否可以static环境访问非static变量? 不可以。static变量Java是属于类,它在所有的实例是一样。当类被Java虚拟机载入时候,会对static变量进行初始化。...程序员没有给类提供构造函数情况下,Java编译器会为这个类创建一个默认构造函数。 Java构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。...Iterator接口提供了很多对集合元素进行迭代方法。每一个集合类都包含了可以返回迭代器实例迭代方法。迭代器可以迭代过程删除底层集合元素。...当调用put()方法时候,HashMap会计算keyhash,然后把键值对存储集合合适索引上。如果key已经存在了,value会被更新成新

1.2K50

面试必备:30 个 Java 集合面试问题及答案

1.Java集合框架是什么?说出一些集合框架优点? 每种编程语言中都有集合,最初Java版本包含几种集合类:Vector、Stack、HashTable和Array。...Map包含key-value对,它提供抽取key或value列表集合方法,但是它不适合“一组对象”规范。 6.Iterator是什么? Iterator接口提供遍历任何Collection接口。...我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架Enumeration。迭代器允许调用者迭代过程移除元素。...Java1.5并发API包括一些集合类,允许迭代时修改,因为它们都工作集合克隆上,所以它们多线程环境是安全。点击这里一文搞懂问什么线程不安全。 25.并发集合类是什么?...Stack是一个扩展自Vector类,而Queue是一个接口。 27.Collections类是什么Java.util.Collections是一个工具类仅包含静态方法,它们操作或返回集合。

46420
领券