JAVA 集合框架总结

Java集合框架是什么?说出一些集合框架的优点? 干货太重,且文字比较多。需要花费时间与耐心细细咀嚼,但是真的能收获到很多。 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。 1... 阅读详情

一、关于集合

集合是封存对象的容器,比数组的功能更为强大,Collections类提供了对集合操作的多种便捷方法,从数据结构上讲,集合实现了多种数据结构,树、图、哈希表、顺序存储、链式存储等等。而数组仅仅实现了顺序存储。对于同为顺序结构的数组和ArrayList来讲,效率上数组更高,因为ArrayList其实现也是封装了数组,但集合提供了多种操作和长度可变等许多优点。对于其他存储结构来说,集合优势更为明显,可以使用树结构进行元素排序,Map实现键值对存储等等。

二、Collection接口

Collection接口下主要成员如下


如图所示,不同的集合都实现了不同的数据结构、因此在功能和存取效率上也有所差别。

List中ArrayList和LinkList,ArrayList的存储结构与数组一样,在内存中数据是连续出现的,因此查找元素效率较高,但对于增删操作时涉及到元素位置的变动因此增删操作效率较低。而LinkList特性是数据不是连续的,要靠每个节点中指向下一个节点的地址来将数据串联起来,多以查找较慢,但增删操作时知识改变指针地址即可,所以增删效率较高。

对于Set集合中TreeSet实现了二叉树的存储结构,或平衡二叉树,好处是TreeSet在存储的同时也要进行比较,以便生成二叉树,而读取该集合就是对二叉树的遍历过程,使原本无序元素变得有序,正因这样存入的元素或对象必须可比较,即必须实现Comparable接口或在新建实例时传入一个自定义的比较器。

对于实现了哈希表的HashSet集合来讲,因为每次存取都会根据元素自身的hashcode以及散列函数算出要存入的位置,因此每次存取都是相对固定的,不需要向树或线性表一样进行遍历,因此效率应该是最高的。

Collection接口常用方法:

boolean add(Object o):该方法用于向集合里面添加一个元素,若集合对象被添加操作改变了,返回true.
boolean addAll(Collection c):把集合c里面的所有元素添加到指定集合里面去,如果集合对象被添加操作改变了返回true.
void clear():清除集合里面的所有元素,将集合长度变为0。
boolean contains(Object o):返回集合里是否包含指定的元素。
boolean containsAll(Collection c):返回集合里是否包含集合c内所有的元素。
boolean isEmpty():返回集合是否为空(长度是否为0)。
Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素。
boolean remove(Object o):删除集合中指定元素o。
boolean removeAll(Collection c):从集合中删除集合c里面的元素。若删除一个或以上返回true。
boolean retainAll(Collection c):从集合中删除集合c里不包含的元素。
int size():得到集合元素的个数。
Object[] toArray():把集合转成一个数组,所有集合元素编程数组元素。

三、迭代器Iterator

取出Collection集合元素的主要方式增强For和迭代器,其中增强For也利用的是Iterator

<span style="font-size:14px;">public class CollectionTest {
	public static void main(String[] args) {
		List<String> list=new LinkedList<String>();
		
		list.add("北京");
		list.add("上海");
		list.add("广州");
		list.add("深圳");
		
		for (String string : list) {
			System.out.println(string);
		}
		
		for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
			String string = (String) iterator.next();
			System.out.println(string);
		}
	}
}
</span>

四、TreeSet集合


使用TreeSet 对student类按年龄age排序

TreeSet传入的元素必须实现Comparable接口复写compareTo方法,TreeSet存入的元素不允许重复,当存入重复元素时,返回false,而判断是否重复就是依靠compareTo方法的返回值,当返回0时表示两个对象相等。

public class CollectionTest {
	public static void main(String[] args) {
		Set<Student> set = new TreeSet<Student>();
		set.add(new Student(20, "张三"));
		set.add(new Student(17, "张三"));
		set.add(new Student(17, "李四"));
		for (Iterator<Student> iterator = set.iterator(); iterator.hasNext();) {
			Student student = (Student) iterator.next();
			System.out.println(student);
		}
	}
}

class Student implements Comparable<Student> {
	private int age;
	private String name;

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return age + "--" + name;
	}

	public Student(int age, String name) {
		// TODO Auto-generated constructor stub
		this.name = name;
		this.age = age;
	}

	@Override
	public int compareTo(Student o) {
		// TODO Auto-generated method stub
		if (this.age == o.age)
			return this.name.compareTo(o.name);
		return this.age - o.age;
	}

}

上述代码中Student实现了comparable接口,而当某个类已经实现了该接口后,想用另一种排序方式,则可以传入一个比较器传给TreeSet对象,以覆盖掉元素自身的比较方法。

如下边的例子,String类的排序是自然排序,而现在想要按照字符串长短排序,可以建立自定义的比较器。

public class CollectionTest {
	public static void main(String[] args) {
		
		Set<String> set = new TreeSet<String>(new MyComparator());
		set.add("aaaaaaa");
		set.add("bbbbb");
		set.add("ccc");
		for (Iterator iterator = set.iterator(); iterator.hasNext();) {
			String string = (String) iterator.next();
			System.out.println(string);
		}

	}
}

class MyComparator implements Comparator<String> {

	@Override
	public int compare(String o1, String o2) {
		// TODO Auto-generated method stub
		if (o1.length() == o2.length())
			return o1.compareTo(o2);
		return o1.length() - o2.length();
	}

}
五、HashSet集合
HashSet同样不能存重复元素,判断吃否是重复元素的依据是先判断对象的HashCode,如果不一样则直接存入集合,若一样则判断equals方法返回的布尔值。若equals方法也返回false,则可存入集合。

public class CollectionTest {
	public static void main(String[] args) {
		Set<Student> set = new HashSet<Student>();
		set.add(new Student(18, "李磊"));
		set.add(new Student(19, "李雷"));
		set.add(new Student(19, "李雷"));
		set.add(new Student(20, "韩梅梅"));
		for (Iterator<Student> iterator = set.iterator(); iterator.hasNext();) {
			Student student = (Student) iterator.next();
			System.out.println(student);
		}

	}
}

class Student {
	private int age;
	private String name;

	public Student(int age, String name) {
		super();
		this.age = age;
		this.name = name;
	}

	@Override
	public int hashCode() {
		// TODO Auto-generated method stub
		return age + name.hashCode();
	}

	@Override
	public boolean equals(Object obj) {
		// TODO Auto-generated method stub
		if (!(obj instanceof Student))
			return false;
		Student student = (Student) obj;
		return this.name.equals(student.name) && this.age == student.age;
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return name + "----" + age;
	}

}

六、Map


Map集合里存在两组值,一组是key,一组是value。Map里的key不允许重复。通过key总能找到唯一的value与之对应。同样实现了sortMap接口的TreeMap也具备排序功能。HashTable 和 HashMap 是 Map 的实现类 ,HashTable 是线程安全的,不能存储 null 值 ,HashMap 不是线程安全的,可以存储 null 值  。HashSet底层就也是使用了HashMap。

常用方法:

void clear():删除该Map对象中所有的key-value对。也就是清理该集合;
boolean containsKey(Object key):查询Map中是否包含指定的key;
boolean containsValue(Object  value):查询Map中是否包含至少一个value;
Set entrySet():返回Map所包含的key-value对所组成的Set集合,每个集合元素都是Map.Entry对象(Entry是Map内部类);
Object get(Object key):返回指定key所对应的value,若此Map中不包含该key,返回null;
boolean isEmpty():判断Map集合是否为空;
Set keySet():返回该Map中所有key所组成的Set集合;
Object put(Object key,Object value):添加一个key-value对,若Map中已有与key相等的key-value对,则新的key-value对覆盖原来的key-value对;
void putAll(Map m):将m中的key-value赋值到调用该方法的Map对象中;
Object remove(Object key):删除指定key所对应的key-value对,返回本删除key所关联的value,若key不存在,返回null;
int size():返回该Map里面key-value对的个数;
Collection values():返回Map里所有value组成的Collection。

public class CollectionTest {
	public static void main(String[] args) {

		Map<String,String> map = new HashMap<String,String>();
		System.out.println("put:"+map.put("111","黑马"));
		System.out.println("put:"+map.put("111","程序员111"));
		map.put("222","程序员222");
		map.put("333","程序员333");

		System.out.println("containsKey:"+map.containsKey("444"));
		System.out.println("remove:"+map.remove("111"));

		System.out.println("get:"+map.get("555"));

		map.put("555",null);
		System.out.println("get:"+map.get("555"));
		Collection<String> coll = map.values();
		
		System.out.println(coll);
		System.out.println(map);

	}
		
}	
Map集合元素的两种取出方式
public class CollectionTest {
	public static void main(String[] args) {

		Map<String, String> map = new HashMap<String, String>();
		map.put("1", "111");
		map.put("2", "222");
		map.put("3", "333");
		map.put("4", "444");
		map.put("5", "555");
		// 方式一
		Set<Entry<String, String>> set = map.entrySet();
		for (Entry<String, String> entry : set) {
			System.out.println(entry.getKey() + "---" + entry.getValue());
		}
		// 方式二
		Set<String> set_key = map.keySet();
		for (String string : set_key) {
			System.out.println(string + "---" + map.get(string));
		}
	}

}
取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
public static void main(String[] args) {
		String str="cabcdekkaqoq";
		StringBuffer result=new StringBuffer();
		Map<Character, Integer> map=new TreeMap<Character, Integer>();
		for (int i = 0; i < str.length(); i++) {
			char ch=str.charAt(i);
			if(map.containsKey(ch)){
				map.put(ch, (int)map.get(ch)+1);
			}else{
				map.put(ch, 1);
			}
		}
		
		//Set<Entry<Character, Integer>> set=map.entrySet();
	
		for (Entry<Character, Integer> entry : map.entrySet()) {
			char ch=entry.getKey();
			int val=entry.getValue();
			String str1=ch+"("+val+")";
			result.append(str1);
		}
	 System.out.println(result.toString());
		
	}


七、Arrays工具类和Collections工具类

Array和集合相互转换可以借助Arrays工具类和Collections工具类,Arrays专门操作数组,Collections专门操作集合。

<span style="font-size:14px;">public class CollectionTest {

	public static void main(String[] args) {

		String[] array = { "111", "222", "333" };
		// 数组转集合
		List list = Arrays.asList(array);
		List<String> arraylist = new ArrayList<String>();
		arraylist.add("111");
		arraylist.add("222");
		arraylist.add("333");
		// 集合转数组
		array = arraylist.toArray(new String[arraylist.size()]);
		// 直接打印数组内容成字符串
		System.out.println(Arrays.toString(array));
		// 将现有List集合传入比较器实现与TreeSet一样的排序
		Collections.sort(list, new Comparator<String>() {

			@Override
			public int compare(String o1, String o2) {
				// TODO Auto-generated method stub
				return o1.length() - o2.length();
			}
		});
		System.out.println(list);
		//反转排序
		Collections.reverse(list);;
		System.out.println(list);
	}
}</span>



RoboMaster新手必看:用STM32 HAL库搞定大疆M3508电机正反转(附完整代码) 本文详细介绍了如何使用STM32 HAL库驱动大疆M3508电机实现正反转控制,包括硬件准备、PWM配置、电机校准及完整代码实现。特别针对RoboMaster新手常见问题提供了解决方案,如电机抖动、不转等故障排查,并分享了缓启动、DMA更新等进阶技巧,帮助开发者快速掌握电机控制核心技术。 阅读详情

相关推荐

双目相机测距原理

普通双目相机具有如下特点:左右两个相机位于同一平面(光轴平行),且相机参数(焦距f)一致。其原理图如下:如图所示,P点为相应的物体位置,CL和CR为左右相机光心位置,PL和PR分别为左相机和右相机拍摄的P点成像结果。f为相机焦距,Z为物体距相机的深度距离,b为左右相机基线距离根据几何关系有:则相应的深度信息计算公式为:(1)其中XL-XR为视差。其余在两侧的情况同样可以用几何关系分析得到该表达式(1),即对于普通双目相机测距可以直接通过公式(1)得到深度结果。

doudou2weiwei的博客 4548

堆内存和栈内存

Java 把内存划分成两种:一种是栈内存,另一种是堆内存。 栈式存储: 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即被另作它用。 优点:存取速度比堆要快,仅次于寄存器,栈数据可以共享。 缺点:存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一...

weixin_30376163的博客 269

某讯天御滑块验证码逆向实战:从参数解析到环境对抗

本文详细解析了某讯天御滑块验证码的逆向工程实战技巧,从关键参数解析到浏览器环境模拟对抗。重点介绍了collect、eks等参数的逆向思路,以及如何通过puppeteer等工具补全环境检测,帮助开发者有效突破验证码防护。文章还提供了常见错误解决方案和性能优化建议,是验证码逆向领域的实用指南。

weixin_29325007的博客 440

Java集合框架的学习总结

        首先了解一下Java的集合框架,是为表示和操作集合而规定的一种统一的标准体系结构。主要是提供功能的复用,让我们能专注于业务开发。一、常见的集合类常见的集合类List(集)集合中的对象按照索引位置排序,允许元素重复Set(集)集合中的对象不按照特定的方式排序,不允许元素重复Map(集)集合中每一个元素都包含一对key和value对象,不允许key对象重复,允许value值重复二、集合...

weixin_42533171的博客 442

别再为Power BI瀑布图发愁了!用这个DAX公式+堆积柱状图,5分钟搞定现金流量表可视化

本文介绍了一种使用DAX公式和堆积柱状图快速实现Power BI现金流量表可视化的高效方法。通过详细的步骤和代码示例,帮助财务分析人员5分钟内完成专业级报表制作,解决传统瀑布图配置复杂、灵活性差的问题,显著提升工作效率。

weixin_28677005的博客 247

SMETANA 安装使用教程

关于SMETANA的安装和简单使用信息

qq_44940977的博客 1171

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

Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安

小地盘的诺克萨斯 5733

9、硬件工程师笔试面试知识器件篇——三极管(2025版本)

本文全面介绍了三极管的基础知识与应用,包括其结构、类型、工作原理、工作状态、功能、应用场景及特性参数。详细探讨了三极管在信号放大、无线通信、音频设备及医疗设备中的具体应用,并深入分析了设计放大电路时如何平衡增益与噪声、优化偏置电路以提高稳定性、使用负反馈改善性能等关键问题。此外,文章还涵盖了高频电路设计、温度补偿策略、电磁干扰防护等实用内容,为硬件工程师提供了全面的技术参考和设计指导。

XU157303764的博客 7314

【Java 集合框架】最全的 Java 集合框架入门手册

前言: 本文主要介绍了 Java 集合框架,让大家对它有个概念的认识。为后面介绍数据结构以及集合框架中具体的实现类来做铺垫。希望大家喜欢! 文章目录1. 介绍(含集合框架图)2. 各个接口概述3. 各个实现类概述4. Iterable4.1 介绍4.2 Iterator 和 ListIterator 迭代器4.3 迭代器的简单用法5. Collection5.1 介绍5.2 Collection 接口说明5.3 Collection 常用方法说明5.4 Collection 示例5.4.1 使用 Colle

吞吞吐吐大魔王的博客 2222

每周技巧tc 问题处理技巧Teamcenter

(内部)Dataset和Tool相关之2.1——Tool轮询Contents Type和Type Name-赖良顺.docx。(内部)Dataset和Tool相关之3.2——编写Batch和Perl为客户端自动注册相关内容-赖良顺.docx。(内部)Dataset和Tool相关之1.1——Tools和Datasets参数定义-赖良顺.docx。(内部)Dataset和Tool相关之1.2——相关首选项定义及修改-赖良顺.docx。(内部)Dataset和Tool相关之0——概述-赖良顺.docx。

TC技术专栏 1230

为什么reg2cgate的setup难以满足?

从图上我们可以看出,clock gate的clock latency是delay1,reg1的clock latency是delay1+delay2,可以明显的看出,reg2cgate的setup,其launch clock path delay天生是要比capture clock path delay要多delay2的,因此其setup相对于reg2reg是不好满足的。因此,在数字后端脚本、flow上比较擅长,大家如果有相关的问题,可以提供答疑咨询服务。因此,能够让我们去处理的就是delay2的值。

芯冰乐 1935

Java集合框架全面详解

集合框架是一个统一的架构,用于表示和操作集合,使集合能够独立于其实现细节进行操作。Java集合框架提供了一系列接口和类,用于存储、检索、操作和传输数据对象。尽管Java集合框架提供了丰富的实现,但有时您可能需要创建自定义的集合类。扩展现有集合类@Override@Override实现集合接口size = 0;@Override@Override@Override// 省略其他必要的方法实现...使用组合而非继承@Override。

qq_38830315的博客 2211

083、多帧降噪(MFR)与VST算法:低照度场景下的信噪比提升与鬼影抑制

本文深入探讨了多帧降噪(MFR)和VST算法在低照度场景中的应用与优化。作者从实际项目案例出发,指出单帧降噪的局限性,详细分析了MFR的核心原理与工程实现中的关键环节,包括帧对齐、帧选择、融合策略和鬼影抑制等技术要点。文章特别强调VST变换对噪声均匀化的重要性,并分享了实际开发中的调试经验与参数优化技巧,如"三明治"调试法和性能平衡策略。最后指出,优秀的MFR方案需要在信噪比提升、鬼影抑制和纹理保留之间找到场景化的平衡点,建议开发者通过真实场景测试验证算法效果。全文既有理论分析,又包含丰富的实战经验和技术细

zzfmlxs的博客 123

Java 集合框架是什么?集合框架的优点有哪些?

它提供了一系列的接口和类,这些接口和类可以帮助我们以一种高效和标准化的方式存储、访问和操作数据集合。随着集合的广泛使用,Java1.2 提出了囊括所有集合接口、实现和算法的集合框架。集合框架中的类都是由经验丰富的开发者设计和实现的,它们经过了严格的测试,确保了性能和稳定性。集合框架提供了现成的、经过优化的数据结构,开发者可以直接使用这些数据结构,而不需要从头开始实现自己的集合类。:Java 5 引入了泛型,这使得集合可以指定它们可以存储的元素类型,从而提供了编译时类型安全,减少了类型转换的错误。

apple_64847327的博客 1105

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java笔记——Java集合框架_java 集合框架

调用 set(int index,Object o)方法改变List 集合指定索引处的元素时,指定的索引必须是List 集合的有效索引,例如长度是4,不饿能指定替换 index 值为4的元素,即该方法不会改变List 集合的长度。从集合中删除集合 c 里不包含的元素(相当于把调用该方法的集合变成该集合和集合c 的交集),如果该操作改变了调用该方法的集合,则该方法返回true。从集合中删除集合 c 里包含的所有元素(相当于用调用该方法的集合减集合 c),如果删除了一个或一个以上的元素,则该方法返回true。

a25847a的博客 1483

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java21下的 Java 集合框架

本文深入解析Java集合框架的核心概念、体系结构与常用方法,涵盖Collection接口的通用操作、迭代器遍历及Java21新增的SequencedCollection接口,通过代码示例演示集合的增删改查、反转与遍历技巧,助你掌握高效数据管理与操作。

m0_73941339的博客 1677

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java集合框架

一、集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。 2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。 3. 抽象类:5个抽象类(长虚线表...

帅比的博客 3237

详解java集合框架

文章目录一、集合框架详解1、Collection接口1)collection接口2)AbstractCollection抽象类3)SortedSet接口4)AbstractList和AbstractSet5)继承基类List的类6)继承基类Set的类2、Map接口二、集合的意义和使用1、意义2、使用1)线程安全PK性能高效2)链表PK数组3)重复pk单一4)有序pk无序 一、集合框架详解 下图转载自: https://blog.youkuaiyun.com/weixin_43314519/article/details

m0_51801058的博客 2028

集合_java集合框架

java集合框架图       简化图:      Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。 不同接口描述一组不同数据类型。      1、Java 2集合框架图    ①集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。    ②抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定

java 笔记本 5万+

Java集合框架解析

Java集合框架(Java Collections Framework, JCF)位于java.utilCollection:单列数据集合的根接口List:有序可重复集合Set:无序不可重复集合Queue:队列集合Map:双列键值对集合Iterator:集合遍历接口。

qq_45351273的博客 2058

Java 集合框架详解

在 Java 编程中,集合框架是一个非常重要的组成部分。它提供了一组用于存储和操作集合的接口和类,使得开发者能够更加高效地处理数据。本文将详细介绍 Java 集合框架的各个方面。接口:定义了各种集合的行为和操作,如CollectionListSetMap等。实现类:实现了接口中定义的方法,提供了具体的集合实现,如ArrayListLinkedListHashSetTreeSetHashMapTreeMap等。算法:提供了一些用于对集合进行操作的算法,如排序、搜索等。

mailangduoduo的博客 1768

java常用集合及集合框架总结

今天这篇文章我们重点总结一下java中常用的集合,及他们的特性和适用的场合。常见集合框架结构如下图(不是全部,只包含常用的) 1、List 1.1、ArrayList1.2、LinkedList1.3、Vector1.4、List接口下各种接口实现类的比较和应用 2、Set 2.1、HashSet2.2、TreeSet2.3、SortSet2.4、LinkedHashSet2.5、Se...

qq_35689573的博客 9699

5java集合框架

Java 集合框架是 Java 提供的一组用于存储和操作数据的类和接口,它提供了高效、灵活且安全的数据存储和处理方式。Java 集合框架提供了丰富的类和接口,以满足不同的需求。在实际开发中,需要根据具体的场景选择合适的集合类。并行流可以利用多核处理器的优势,并行处理 Stream 流中的元素,提高处理性能。终端操作会触发 Stream 流的处理,并产生一个结果或副作用。是有序的集合,允许存储重复的元素。方法返回的同步集合,还有 Java 并发包中的。用于将 Stream 流中的元素收集到一个集合中。

chxii的专栏 1075

Java 集合框架

如果需要高效的随机访问以及两端的快速添加和删除操作,可以考虑使用。

2301_81718046的博客 1031

Java集合框架详解

Java集合框架(JCF)提供了存储和操作数据的核心接口和实现类,包括List、Set、Queue、Map等。List接口有序可重复,主要实现类有ArrayList(动态数组)和LinkedList(双向链表);Set接口无序唯一,包括HashSet、TreeSet等;Queue接口遵循FIFO原则;Map接口存储键值对,如HashMap和TreeMap。不同实现类在线程安全、性能、有序性等方面各有特点,开发者可根据需求选择合适的数据结构。集合框架大大简化了Java中的数据操作,提高了开发效率。

weixin_47242663的博客 1021

JAVA集合框架

1.是单列集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素。2.JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现(1)有序集合,这里的有序指的是存取顺序(2)用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素(3)与Set集合不同,列表通常允许重复的元素可调整大小的数组的实现List接口。实现所有可选列表操作,并允许所有元素,包括null。

weixin_72084279的博客 931
上一篇: JAVA 网络编程
下一篇: JAVA 异常处理
SetO2
博客等级 码龄12年 5粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值