第 3-1 课:集合详解(上) + 面试题

先来看看集合的继承关系图,如下图所示:

enter image description here

其中:

  • 外框为虚线的表示接口,边框为实线的表示类;
  • 箭头为虚线的表示实现了接口,箭头为实线的表示继承了类。

为了方便理解,我隐藏了一些与本文内容无关的信息,隐藏的这些内容会在后面的章节中进行详细地介绍。

从图中可以看出,集合的根节点是 Collection,而 Collection 下又提供了两大常用集合,分别是:

  • List:使用最多的有序集合,提供方便的新增、修改、删除的操作;
  • Set:集合不允许有重复的元素,在许多需要保证元素唯一性的场景中使用。

下面我们分别对集合类进行详细地介绍。

集合使用

1)Vector

Vector 是 Java 早期提供的线程安全的有序集合,如果不需要线程安全,不建议使用此集合,毕竟同步是有线程开销的。

使用示例代码:

Vector vector = new Vector();
vector.add("dog");
vector.add("cat");
vector.remove("cat");
System.out.println(vector);

程序执行结果:[dog]

2)ArrayList

Arr

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java类class isAnnotationPresent()方法与示例

类类isAnnotationPresent()方法 (Class class isAnnotationPresent() method) isAnnotationPresent() method is available in java.lang package. isAnnotationPresent()方法在java.lang包中可用。 isAnnotationPresent() method returns true when the annotation for the gi…

CCNA 学习笔记(四)--路由协议(RIP)

现在我们先复习下,什么是路由?答:当路由器(或者其它三层设备)收到一个IP数据包时,会查看数据包的IP头部中的目的IP地址,并在路由表中进行查找,在匹配到最优路由后,将数据…

第 3-3 课:泛型和迭代器 + 面试题

泛型 1)为什么要用泛型? 在泛型没有诞生之前,我们经常会遇到这样的问题,如以下代码所示: ArrayList arrayList = new ArrayList(); arrayList.add("Java"); arrayList.add(24); for (int i = 0; i < arrayList.size(); i++) {String str = (String) array…

自连接 实例

SELECT * FROM student_grade;select t1.num,t1.name,t1.chinese,t2.math,t3.english from (SELECT a.num,a.name,a.sex,b.grade as chinese FROM student_grade as ainner join student_grade as b on a.num b.num and a.course b.coursewhere b.course 语文) as t1,(SELEC…

linux——进程间通信(管道)

概念 进程间通信是指子进程与父进程间的通信&#xff0c;一般用作父进程对子进程的控制或者子进程将其动向告诉父进程&#xff0c;由于进程是一个程序执行的实例&#xff0c;进程之间本身是无法进行通信的&#xff0c;故而运用一种管道将二者联系起来。当然管道并不只限于在父子…

Java LineNumberInputStream available()方法与示例

LineNumberInputStream类的available()方法 (LineNumberInputStream Class available() method) available() method is available in java.io package. available()方法在java.io包中可用。 available() method is used to return the number of available bytes that can be …

第 3-2 课:集合详解(下) + 面试题

集合有两个大接口:Collection 和 Map,本文重点来讲解集合中另一个常用的集合类型 Map。 以下是 Map 的继承关系图: Map 简介 Map 常用的实现类如下: Hashtable:Java 早期提供的一个哈希表实现,它是线程安全的,不支持 null 键和值,因为它的性能不如 ConcurrentHashMap…

Linux下系统与硬件时钟管理

在无NTP而又处在私网的情况下、所以有效的保证时间的正确性其实可以使用此种方案来保证时间的准确性1、系统日期时间设定[rootrhel ~]# date -s "2014-11-27 21:50:00" 设置当前时间与日期Thu Nov 27 21:50:00 EST 20142、硬件时钟日期与时间设定[rootrhel /]# hwclo…

Oracle数据库ORA-12514错误的解决办法

问题提示错误提示:ERROR:ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect解决方法&#xff1a;代码如下1. 打开<OracleHome>/network/admin/listener.ora文件&#xff0c;找到&#xff1a;SID_LIST_LISTENER (SID_LIST (SID_DESC (SID_NAME P…

Java类类getResourceAsStream()方法及示例

类类getResourceAsStream()方法 (Class class getResourceAsStream() method) getResourceAsStream() method is available in java.lang package. getResourceAsStream()方法在java.lang包中可用。 getResourceAsStream() method is used to get the resource as a parameter …

第 4-1 课:BIO、NIO、AIO 详解 + 面试题

IO 介绍 IO 是 Input/Output 的缩写,它是基于流模型实现的,比如操作文件时使用输入流和输出流来写入和读取文件等。 IO 分类 传统的 IO,按照流类型我们可以分为: 字符流字节流其中,字符流包括 Reader、Writer;字节流包括 InputStream、OutputStream。传统 IO 的类关系…

带头节点循环链表实现队列

队列的特征就是“先入先出”&#xff0c;入队时在链表的尾部插入数据&#xff0c;出队时删除掉头节点后面的节点&#xff0c;需要一个尾指针&#xff0c;始终指向链表的尾部&#xff08;新加进来的节点&#xff09;。具体请看原理图&#xff1a; 代码实现 #include <stdio…

ProFTPD 初探

ProFTPD:一个Unix平台上或是类Unix平台上&#xff08;如Linux, FreeBSD等&#xff09;的FTP服务器程序。转载于:https://www.cnblogs.com/lsl8966/p/4129084.html

ANSI编码对比表

ASCII码对照表 http://www.cnblogs.com/gamesky/archive/2012/07/28/2613264.html目前计算机中用得最广泛的字符集及其编码&#xff0c;是由美国国家标准局(ANSI)制定的ASCII码&#xff08;American Standard Code for Information Interchange&#xff0c;美国标准信息交换码&…

第 3-4 课:数据结构——队列详解 + 面试题

队列(Queue):与栈相对的一种数据结构, 集合(Collection)的一个子类。队列允许在一端进行插入操作,而在另一端进行删除操作的线性表,栈的特点是后进先出,而队列的特点是先进先出。队列的用处很大,比如实现消息队列。 Queue 类关系图,如下图所示: 注:为了让读者更直…

预处理阶乘和阶乘逆元_计算数字的阶乘| 8086微处理器

预处理阶乘和阶乘逆元Problem statement: 问题陈述&#xff1a; Write an assembly language program for calculating the factorial of a number using 8086 microprocessor. 编写一个汇编语言程序&#xff0c;以使用8086微处理器来计算数字的阶乘。 Assumptions: 假设&…

GB/T 17710-1999 PHP生成校验码

校验码算法描述如下&#xff1a;详细&#xff1a;http://wenku.baidu.com/link?urlCDvNJ1sLYOPzbbxjEy5R-oME95RlfTCUU5-I5M0bqUt0I32b0Xd0EKmI-HiFQHhY8OcB6ERTml7pUwXFseLl8GGvkuc7w0V2sFDxi2H0XGC本例子以16位编号为例子&#xff0c;用PHP予以实现&#xff0c;代码如下&…

Linux——线程使用及互斥量

线程的基本操作 概念 线程是程序中的一个执行路线。每个程序当中至少有一个线程。 程序在执行的过程中是逐条执行的&#xff0c;按照代码的逻辑一次向下执行&#xff0c;所以无法同时完成两条指令&#xff0c;故而引进了线程&#xff0c;举个很简单的例子&#xff0c;如果同时…

UNDO Tablespace

UNDO表空间用于存放UNDO数据&#xff0c;当执行DML操作&#xff08;insert、update、delete&#xff09;的时候&#xff0c;oracle会将这些操作的旧数据写入到UNDO段。UNDO数据也称为回滚数据&#xff0c;用于确保数据的一致性。作用包括&#xff1a;1、回退事务2、读一致性3、…

第 4-2 课:反射和动态代理 + 面试题

反射 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect)的能力。简单来说就是通过反射,可以在运行期间获取、检测和调用对象的属性和方法。 反射的使用场景 在现实中反射的使用场景有很多,比如以下几个。 使用场景一:编程工具 IDEA 或 Eclip…