java是面向对象的一门编程语言,我们可以通过声明类来概括某种含有相同状态或行为的对象,状态对应于类中的属性,行为即为方法。
通常,程序总是在运行时才创建新对象,赋予对象指定的行为和状态,在此之前,我们不知道对象的数量,甚至不知道确切的类型。
那么如何随时随地创建任意数量的对象呢,java类库提供了一套完整的容器类/集合类来解决这个问题
由上图可以看出
1.Collection接口有三个子接口,List、Set和Quene,Map不是
2.Collection是所有序列容器的共性的根接口。Java.util.AbstractCollection类提供了Collection的默认实
现,使得你可以创建AbstractCollection的子类型,而没有不必要的代码重复。
3.Map是所有键值对的根接口
4.List是有序的集合,元素可重复;
Set无序,元素不重复
Quene是队列,按照先进先出原则(FIFO)存储数据
Map按照key-value键值对存储数据,key不能有重复的,put(key,value)方法指定key对应的value值
Hash表示内部存储采用hash算法
Link表示底层采用链式结构存储
Tree表示按照树形结构进行存储
Sort表示升序排列
用法
下面给出集合类的使用
1.实现set接口的类
Set如何判断元素是否重复
HashSet、LinkedHashSet、TreeSet,Set的实现累判断元素是否重复的方法差异很大,
大致可以分为三种,使用equals,使用hashcode,使用compareTo
1)HashSet依靠HashMap实现,类的对象作为HashSet的元素时,该类要重写父类的hashCode方法
2)TreeSet是依靠TreeMap实现的,类的对象作为TreeSet的元素时,该类要实现Comparable接口
2.HashSet和TreeSet的比较
HashSet是基于Hash算法实现的,其性能通常优于TreeSet,应用较TreeSet也普遍,当我们需要排序的
功能时,才使用TreeSet
3.实现List接口的类
ArrayList
可以将ArrayList看作是能够自动增长容量的数组
数组和集合类之间的转换
1)利用ArrayList的toArray()返回一个数组
Object[] objs = al.toArray();
2)Arrays.asList()返回一个列表
List l = Arrays.asList(数组名);
迭代器(Iterator)给我们提供了一种通用的方式来访问集合中的元素
1)每个集合类接口及其实现类都有一个iterator()方法,用来返回对应的Iterator方法
Iterator it = al.iterator();//ArrayList的迭代器,利用它来访问集合中的元素
2)Iterator的方法
hasNext()//是否含有一个元素
next()//返回下一个元素
remove()//删除next方法返回的元素
LinkedList
LinkedList是采用双向循环链式实现的,因为Linkedlist同时实现了List接口和Queue接口,所以可以用LinkedList实现
单向链表、双向循环链表、栈、队列等数据结构,需要注意的是在操作元素(添加、删除、访问)的时候按照对应数据
结构的方法进行操作。
descendingIterator()方法返回以逆向顺序在此双端队列的元素上进行迭代的迭代器,可以通过该方法逆向访问元素
实现Queue接口的类
LinkedList、PrioirtyQueue
实现Map接口的类
HashMap、LinkedHashMap、TreeMap
分享到:
相关推荐
xmind格式的Java集合框架学习导图,包括Collection接口/Map接口以及具体实现类。 同样包含大厂面试题,也在导图中有所体现。 能学到什么: 更加成体系的知识框架,更加全面的、系统的知识。 思维导图: 思维导图具有...
数据结构和Java集合框架,从数据结构和JAVA基础的部分阐述Java集合框架,是学习Java的基础支持也是温故集合框架的必须文档,一册在手可以随时查看Java集合框架知识。
学士后Java集合框架和泛型课后习题答案 希望能够帮助大家更好的学习JAVA,这些知识还是比较基础的,并没有多大难度 一起共同进步
Java集合框架是Java程序员必备的核心知识之一。在面试中,对Java集合框架的深入理解将成为展现你的编程能力和解决问题的能力的重要因素。本篇面试题集锦旨在帮助你更深入地了解Java集合框架的复杂概念和应用,以及...
通过这份资源,您将获得全面的 Java 集合框架知识,从不同类型的集合到它们的实现类,从基本操作到性能优化。无论您是初学者还是有经验的开发者,这些内容都将为您提供实用的指导,帮助您更好地应用集合框架来解决...
本文档先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析。 Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架...
Java基础入门_集合部分_知识点汇总
Java集合框架ArrayListJava开发Java经验技巧共7页.pdf.zip
Java基础知识汇总之集合框架List、Map、Set接口及其子类综合对比
java集合框架专题-java面试经典, 涉及List set Map 等相关知识
Java集合框架面试必备八股文,包括List、Map、Set等集合框架必备知识点及面试题。 适用于初级开发工程师,更好的掌握集合相关的知识点,顺利通过面试
java集合框架的知识总结,内含代码讲解,知识点概括,带你更好理解java集合框架。。。。像Map集合的概念,遍历方式等
java软件2班.3478\java面向对象高级程序设计课件 林萍\单元知识10 java集合框架\实验提供的资料\java软件2班
主要介绍了JAVA集合框架的相关知识,文中讲解非常细致,帮助大家更好的理解学习JAVA框架,感兴趣的朋友快来了解下
学习java基础知识的很好材料 java中的集合框架和序列化
详细的介绍了集合框架的用法,及其语法规则,剖析了使用的使用注意事项,帮助更牢靠的掌握集合框架的知识及泛型内容。谢谢
超详细的集合框架总结,用法,比较,一网打尽java集合内容!超详细得集合框架知识图谱,如果你下载你会感觉超值
Java核心知识体系6:集合框架详解
掌握Java集合框架中的三大类集合的特征和适用场合 掌握ArrayList类的使用 掌握HashMap类的使用 了解HashSet类的使用 掌握Collections类的使用 了解集合框架中的其它集合类 集合框架(Collection Framework) java.util...
4. 熟悉Java集合框架的使用,包括List、Set、Map等常用数据结构的操作。 5. 学习多线程编程的基本概念和技术,包括线程的创建、同步、通信等。 6. 掌握IO流的基本用法,包括字节流和字符流的区别、文件操作等。 7. ...