`
pengwei841221
  • 浏览: 72168 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Java - Collection

阅读更多

Q:ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?
A:Vector和HashTable是线程同步的(synchronized)。性能上,ArrayList和HashMap分别比Vector和Hashtable要好。

 

Q:大致讲解java集合的体系结构
A:List、Set、Map是这个集合体系中最主要的三个接口。
其中List和Set继承自Collection接口。
Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。
List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。
Map也属于集合系统,但和Collection接口不同。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。HashMap、TreeMap和Hashtable是三个主要的实现类。
SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序。

 

Comparable和Comparator区别
A:调用java.util.Collections.sort(List list)方法来进行排序的时候,List内的Object都必须实现了Comparable接口。
java.util.Collections.sort(List list,Comparator c),可以临时声明一个Comparator 来实现排序。

Collections.sort(imageList, new Comparator() {
            public int compare(Object a, Object b) {
                int orderA = Integer.parseInt( ( (Image) a).getSequence());
                int orderB = Integer.parseInt( ( (Image) b).getSequence());
                return orderA - orderB;
           }
        });

如果需要改变排列顺序,改成return orderb - orderA 即可。

 

集合接口: 6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。
抽象类: 5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。
实现类: 8个实现类(实线表示),对接口的具体实现。

 

· Collection 接口是一组允许重复的对象。
· Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。
· List 接口继承 Collection,允许重复,
以元素安插的次序来放置元素 ,不会重新排列。
· Map接口是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。
· 容器中的元素类型都为Object。从容器取得元素时,必须把它转换成原来的类型。

 

 

(1) 单元素添加、删除操作:

//将对象添加给集合
boolean add(Object o)
//如果集合中有与o相匹配的对象,则删除对象o
boolean remove(Object o): 

(2) 查询操作:

//返回当前集合中元素的数量
int size()
//判断集合中是否有任何元素
boolean isEmpty()
//查找集合中是否含有对象o
boolean contains(Object o)
//返回一个迭代器,用来访问集合中的各个元素
Iterator iterator()

(3) 组操作 :作用于元素组或整个集合

//查找集合中是否含有集合c 中所有元素
boolean containsAll(Collection c)
//将集合c 中所有元素添加给该集合
boolean addAll(Collection c) 
//删除集合中所有元素
void clear()
//从集合中删除集合c 中的所有元素
void removeAll(Collection c)
//从集合中删除集合c 中不包含的元素
void retainAll(Collection c) 

(4) Collection转换为Object数组 :

//返回一个内含集合所有元素的array
Object[] toArray()
//返回一个内含集合所有元素的array。
//运行期返回的array和参数a的型别相同,需要转换为正确型别。
Object[] toArray(Object[] a) 

 

分享到:
评论

相关推荐

    Java-collection-frame.rar_Java集合框架

    Java集合框架是Java编程语言中一个至关重要的组成部分,它为数据存储、管理和操作提供了丰富的类库。这个框架包括了各种接口、类以及实现,使得开发者能够高效地处理对象的集合,无论是小型还是大型数据集。在Java...

    java-collection-all-in-one.pdf

    Java集合框架由Collection和Map两大父接口统领。Collection接口是List、Set和Queue的父接口,用于存储单一数据类型的集合;Map接口用于存储键值对集合,由不同的实现类支持不同的访问机制和顺序特性。 List接口是...

    mongo-java-driver-3.2.2.jar.zip

    MongoDB Java驱动程序是Java开发者用来与MongoDB数据库进行交互的重要工具。MongoDB是一个流行的开源、文档型数据库系统,而`mongo-java-driver`是官方提供的Java API,允许开发者在Java应用程序中执行各种数据库...

    The-Java-Garbage-Collection-Mini-book.zip

    垃圾回收(Garbage Collection,简称GC)是Java语言的一个重要特性,它自动化地管理程序中的内存分配与释放,避免了传统C++等语言中的内存泄漏问题。本文将围绕Java垃圾回收这一主题,展开一系列关键知识点的详细解析...

    Java--collection.rar_SEP_java 集合

    在"Java--collection.rar"这个压缩包中,我们可以找到名为"Java collection.pdf"的文件,它很可能是对Java集合框架的详细讲解。 首先,集合框架的基础是`Collection`接口,它是所有单值容器的父接口,包括`List`, `...

    java-collection-example

    "java-collection-example"项目旨在展示如何使用Java Collections库的各种组件,包括接口、类和算法。这个库使得开发者能够高效地管理和操作对象集合,无论是简单的数组列表还是复杂的映射结构。 在Java中,集合...

    java-collection-jajal:jajal Java集合

    "java-collection-jajal"很可能是一个项目或者库,专注于Java集合的实现和扩展,旨在提供更高效、易用的工具。虽然没有具体项目的详细描述,但我们可以基于Java集合框架本身来探讨相关知识点。 1. **集合接口**:...

    quest-java-collection1

    "quest-java-collection1"可能是一个关于Java集合框架的学习资源或项目,包含有关如何使用和理解Java集合的示例代码或教程。 在Java中,集合框架主要由接口和类组成,如`List`、`Set`、`Queue`和`Map`等接口,以及...

    Java-Interview-Collection.rar_java 面试

    "Java-Interview-Collection.rar" 是一个针对Java面试准备的资源包,其中包含了一份名为"Java Interview Collection.txt"的文本文件,很可能是对Java面试常见问题的集合。 在Java面试中,以下是一些关键知识点,...

    java-collection-generic-examples:该存储库内容样本用于Java收集框架

    这个名为"java-collection-generic-examples"的存储库显然是为了展示Java集合框架中泛型的使用。下面将详细讨论Java集合框架以及泛型的概念和应用。 首先,Java集合框架包括接口(如List、Set、Map)和实现这些接口...

    Method-collection-of-Java-encryption.zip_DSA java

    本文将深入探讨标题"Method-collection-of-Java-encryption.zip_DSA java"中涉及的几种主流加密算法在Java中的应用,包括DES、3DES、AES、RSA、DSA、MD5和SHA1。 1. **DES(Data Encryption Standard)**:DES是一...

    mongo-java-driver-3.2.2.jar

    mongo-java-driver是java语言操作mongodb数据库的驱动包,封装了针对mongodb的相关操作 代码案例: 数据库和集合操作 连接MongoDB服务: MongoClient mongoClient = new MongoClient(host, port); 连接数据库: ...

    dubber-java-collection:Java集合类学习,用法&原始码和实现原始码

    本项目"Dubber-java-collection"显然是一个针对Java集合类的学习资源,特别强调了对源码的分析和理解。Dubber,通常与阿里巴巴的开源服务框架相关,这里可能是借用其名,表示这是一个开源项目,旨在帮助开发者深入...

    JAVA-algorithm-subject-collection.rar_site:www.pudn.com

    标题中的“JAVA-algorithm-subject-collection.rar”表明这是一个与Java编程语言相关的算法题目集合,而“site:www.pudn.com”则可能是指这个资源来源于网络平台PUDN,通常这个平台分享各种技术资料和学习资源。...

    Collections源码java-Java-Collection-:对Java的Collection框架源码阅读

    Java集合框架是Java编程语言中的一个核心特性,它为数据存储和操作提供了强大的支持。`Collections`类是这个框架的一部分,提供了对各种集合接口(如List、Set、Queue等)和实现类的操作方法。在这个源码阅读的过程...

    gcc-java-4.1.2.tar.gz

    标题中的"gcc-java-4.1.2.tar.gz"是一个软件源码包的名称,它包含的是GCC(GNU Compiler Collection)的一个版本,专门针对Java语言的4.1.2版本。GCC是GNU项目的一部分,是一个开源的编译器集合,支持多种编程语言,...

    mongo-java-driver-3.4.1

    MongoDB Java驱动程序是Java开发者连接和操作MongoDB数据库的关键组件。版本3.4.1是这个驱动程序的一个稳定版本,提供了对MongoDB服务器的高效、功能丰富的支持。在这个压缩包中,我们找到了三个核心的JAR文件:`...

    java-collection-benchmark

    Java 集合基准一组微基准,用于比较各种 Java 集合数据结构的不同实现。 测试的数据结构: 原始整数数组列表更多内容......(计划:对象列表、排序列表、队列、地图和集合) 测试库:计划: , 实施细则当前实现使用...

    java8源码-java-collection-practice:集合操作的一些Java基础实践

    java8 源码 Java 集合大练习 项目说明: 本项目致力于练习集合常用的操作:filter,map,flatmap,reduce,sort,skip,limit,allmatch等。 对于集合的操作,可以有多种方式实现,本教程主要用Java8 Stream API 的...

    Tuning-Garbage-Collection-with-the-5.0-Java-Virtua_jvm_virtua 5

    Java 1.5 jvm 虚拟机调优技术

Global site tag (gtag.js) - Google Analytics