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

Java集合(1)---Java集合工具包框架

Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。...Java集合工具包位置是java.util.* Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections...Java集合工具包框架图(如下): ? 1 Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。 Collection包含了List和Set两大分支。...Map中的每一个元素包含“一个key”和“key对应的value”。 AbstractMap是个抽象类,它实现了Map接口中的大部分API。...它是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。

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

    Java中的集合

    一、Java中的集合 集合接口 集合框架定义了一些接口。...---- 集合实现类(集合类) Java提供了一套实现了Collection接口的标准集合类。其中一些是具体类,这些类可以直接拿来使用,而另外一些是抽象类,提供了接口的部分实现。...在前面的教程中已经讨论通过java.util包中定义的类,如下所示: 类名称 类描述 Vector 该类和ArrayList非常相似,但是该类是同步的,可以用在多线程的情况,该类允许设置默认的增长长度...Hashtable Hashtable 是 Dictionary(字典) 类的子类,位于 java.util 包中。...BitSet 一个Bitset类创建一种特殊类型的数组来保存位值。BitSet中数组大小会随需要增加。 迭代器 通常情况下,你会希望遍历一个集合中的元素。例如,显示集合中的每个元素。

    1.5K20

    Java中的Collection集合

    集合概述 集合到底是什么呢? 集合:集合是java中提供的一种容器,可以用来存储多个数据。 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的。集合的长度是可变的。...数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。...Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set。...其中,最上层灰色框里填写的都是接口类型,第二层里填写的都是具体的实现类。 集合本身是一个工具,它存放在java.util包中。在Collection接口定义着单列集合框架中最最共性的内容。...public Object[] toArray(): 把集合中的元素,存储到数组中。

    70340

    java中的Set集合

    如果修改HashSet集合中的对象,有可能导致该对象与集合中的其他对象相等,从而导致HashSet无法准确访问该对象。...采用自然排序,则返回null; Object first():返回集合中的第一个元素; Object last():返回集合中的最后一个元素; Object lower(Object e):返回指定元素之前的元素...(nums);//[-4, 2, 5, 15] System.out.println("集合中的第一个元素:"+nums.first());//集合中的第一个元素:-4...System.out.println("集合中的最后一个元素:"+nums.last());//集合中的最后一个元素:15 System.out.println("集合小于4的子集,不包含...当把一个对象添加进集合时,集合调用该对象的CompareTo(Object obj)方法与容器中的其他对象比较大小,然后根据红黑树结构中找到它的存储位置。如果两个对象相等则新对象无法加入到集合中。

    1.3K10

    java中的Map集合

    大家好,又见面了,我是你们的朋友全栈君。 什么是Map集合? Map用于保存具有映射关系的数据,Map集合里保存着两组值,一组用于保存Map的ley,另一组保存着Map的value。...如果把Map集合里的所有value放在一起来看,它们又类似于一个List,元素可以重复,每个元素可以根据索引来找,只是Map中的索引不再是整数值,而是以另一个对象作为索引。...(Object value):查询Map中是否包含一个或多个value; Set entrySet():返回map中包含的键值对所组成的Set集合,每个集合都是Map.Entry对象。...Object put(Object key,Object value):添加一个键值对,如果集合中的key重复,则覆盖原来的键值对; void putAll(Map m):将Map中的键值对复制到本Map...而判断value值相等的标准:只要两个对象通过equals方法比较返回true即可。 不能修改集合中的key,否则程序再也无法准确访问到Map中被修改过的key。

    92010

    Java中List集合

    ,因此ArrayList集合不适合删除和插入,而适合查找和遍历操作; 5、ArrayList集合长度自动增长原理 ArrayList集合不需要在定义时指定数组的长度,当所要存储的元素超过ArrayList...(linkedList); System.out.println("====================="); 2、将指定的元素插入到集合的末尾: //2、将指定的元素插入到集合的末尾...("====================="); 5、获取集合的最后一个元素: //5、获取集合的最后一个元素 System.out.println("获取集合的最后一个元素为...//6、移除并返回集合的第一个元素 System.out.println("所移除的集合的第一个元素为"+linkedList.removeFirst()); System.out.println...: //7、移除并返回集合的最后一个元素 System.out.println("所移除的集合的最后一个元素为"+linkedList.removeLast());

    3600

    Java中Set集合

    1、Set接口简介 一个不包含重复元素的集合; 此接口没有索引,没有带索引的方法; set接口跟Collection方法基本一致,主要研究其实现类; 2、HashSet 简介 此类实现set接口,由哈希表...(实际上是一个HashMap实例)支持; 它不保证set的迭代顺序,特别是不保证该顺序恒久不变; 允许使用null元素; 此实现不是同步的(多线程,速度快); 特点 一个不包含重复元素的集合; 此接口没有索引...,没有带索引的方法; 无序的集合,存取元素的顺序可能不一致; 底层是一个HashMap结构(查询速度快); //多态方式实现HashSet Set set...,会将当前所要存储的元素的哈希值在集合中查找,若未查找到,则存储集合,若查找到则会调用equals方法,与集合中已经存在的相同哈希值的元素进行比较,若返回true则不再将所要存储的元素存储到集合中,若返回...false则将所要存储的元素存储到集合中。

    7910

    Java中的集合与IO

    集合类中主要有几种接口? Collection:是集合List、Set、Queue的最基本的接口。 Iterator:迭代器,可以通过迭代器遍历集合中的内容。 Map:是映射表的基础接口。...集合中泛型的优点 保证了类型的安全性:泛型约束了变量的类型,保证了类型的安全性。 避免了不必要得装箱、拆箱的操作,提高了程序的性能:泛型变量固定了类型,在使用时就已经知道是值类型还是引用类型。...数据总是从Channel通道中读取到Buffer缓冲区中,或者从Buffer缓冲区中写入到Channel通道中。Selector监视器则用于监听多个通道的事件,如:连接打开、数据到达等。...Java中的流 按照流的方向: 输入流 输出流 按照实现功能: 节点流 处理流 按照处理数据的单位: 字节流 字符流 ---- 20....什么是Java序列化?如何实现Java序列化? 序列化: 是一种用来处理对象流的机制,而所谓的对象流就是将对象的内容进行流化,可以对流化后的对象进行对写操作,也可将流化后的对象传输于网路之间。

    1.2K20

    Java集合中的ConcurrentModificationException异常

    面对并发修改,快速失败迭代器通过抛出ConcurrentModificationException快速失败,而不是冒着在将来不确定的时间出现任意的、非确定性的风险。...一、此异常主要在以下两种情况下发生 1、当快速失败迭代器在同一个线程中迭代集合时,集合使用集合的方法而非迭代器方法修改。...); System.out.println(a); list.add(10); } } } 异常发生: 2、一个线程修改了集合的结构...二、处理这种情况有两种方法 1、在迭代期间不允许对底层集合进行修改。 (1)使用同步机制防止其他线程并发访问集合。...iterator.remove(); } } System.out.println(list); } } 2、不要使用快速失败迭代器,而应使用并发集合中的快速安全

    10010

    Java集合中的Queue & Deque

    Queue 是一端进另一端出的线性数据结构;而 Deque 是两端都可以进出的。 Queue Java 中的 这个 Queue 接口稍微有点坑,一般来说队列的语义都是先进先出(FIFO)的。...但是这里有个例外,就是 PriorityQueue,也叫 heap,并不按照进去的时间顺序出来,而是按照规定的优先级出去,并且它的操作并不是 O(1) 的,时间复杂度的计算稍微有点复杂,我们之后单独开一篇来讲...那如果是一个很资深的面试官问你,什么情况下你要选择用 LinkedList 呢? 答:Java 6 以前。。。因为 ArrayDeque 在 Java 6 之后才有的。。...有很多高频面试题都是要用到栈的,比如接水问题,虽然最优解是用双指针,但是用栈是最直观的解法也是需要了解的,之后有机会再专门写吧。 那在 Java 中是怎么实现栈的呢?...虽然 Java 中有 Stack 这个类,但是呢,官方文档都说不让用了! 原因也很简单,因为 Vector 已经过被弃用了,而 Stack 是继承 Vector 的。

    97530

    Java集合中的Map接口

    jdk1.8.0_144     Map是Java三种集合中的一种位于java.util包中,Map作为一个接口存在定义了这种数据结构的一些基础操作,它的最终实现类有很多:HashMap、TreeMap...其实这个方法的运用还是有点意思的,这会涉及到Java对象引用相关的一些知识。...Map中key的set集合,即“[a,b]” 。   ...super V> action)   这个方法也是JDK8新增的,为了更方便的遍历,这个方法几乎新增在JDK8的集合中,使用这个新的API能方便的遍历集合中的元素,这个方法的使用需要结合Lambda表达式...Map映射集合类型作为Java中最重要以及最常用的数据结构之一,Map接口是它们的基类,在这个接口中定义了许多基础方法,而具体的实习则由它的子类完成。

    1.8K40

    Java中的数组和集合

    数组 Java 中的数组是一种容器,可以用来存储一组相同类型的元素。数组可以是一维的,也可以是多维的。 一维数组 使用示例 一维数组是指只有一行的数组。...在Java中,定义方式如下: int[] array = new int[5]; 这创建了一个名为 array 的整型数组,该数组有 5 个元素。...总之,在Java中使用数组和集合时,要注意正确的使用方式以及各自的特点和限制,尽量避免出现不必要的性能和安全问题。 集合 Java 中的集合是一组对象的容器,可以用来存储和操作各种类型的数据。...除了以上常用的集合实现,Java还提供了一些其他的集合类,例如Stack、Queue等。在使用集合时,需要根据具体的情况选择合适的实现类,并注意其特性和使用方法。...总结 Java 中提供了丰富的数组和集合类型,可以用来存储和操作各种类型的数据。了解这些类型的区别和使用场景,可以帮助我们更加高效地编写Java程序。

    27161

    Java集合中的HashMap类

    jdk1.8.0_144          HashMap作为最常用集合之一,继承自AbstractMap。...HashMap在类中定义了一个size变量,再此处直接返回size变量而不用调用entrySet方法返回集合再计算。可以猜测这个size变量是当插入一个key-value键值对的时候自增。...此时线程T1对扩容前的HashMap元素已经完成了转移,但由于Java内存模型的缘故线程T2此时看到的还是它自己线程中HashMap之前的变量副本。此时T2对数据进行转移,如下图所示。 ?   ...进一步地,在T2中的新散列表中newTable[i]指向了元素A,此时待插入节点变成了B,如下图所示。 ?   ...1 //JDK8中putVal方法和JDK7中put方法中的插入步骤大致相同,同样需要判断是否是第一次插入,插入的位置是否产生冲突,不同的是会判断插入的节点是“链表节点”还是“红黑色”节点。

    95730

    Java中Properties集合

    ①Properties集合是唯一一个跟IO结合的集合; ②可以使用Properties的store方法,把集合的临时数据,持久化地写入到硬盘中; ③可以使用Properties的load方法,把硬盘中保存的文件...集合对象,添加数据; ②创建字节输出流/字符输出流对象,构造方法中绑定输出的目的地; ③使用Properties中的store方法,可以将内存中的集合的临时数据写入到硬盘中存储; ④释放资源; 4、代码演示...store方法,可以将内存中的集合的临时数据写入到硬盘中存储; properties.store(fileWriter,""); //④释放资源; fileWriter.close...:字节输入流,不能读取带有中文的键值对集合; Reader:字符输入流,能读取带有中文的键值对集合; 3、使用步骤 ①创建Properties集合对象; ②使用Properties集合对象的load方法读取保存键值对的文件...; ③遍历Properties集合; 4、注意 ①存储键值对的文件中,键与值默认的连接符号可以使用=,空格(或其他符号); ②存储键值对的文件中,可以使用#进行注释,被注释的键值对不对再被读取; ③存储键值对的文件中

    9210
    领券