数组
Java中的数组是将数字和对象结合起来,需要明确保存对象的类型,在查询时不需要做类型转换,可以保存基本的数据类型,但是一旦数组的大小确定之后就不能被修改。没有排序,数组的下标和装入的对象一一对应。
Collection
collection是存放单一元素的集合的根接口,表示一组对象,JDK中对该接口没有提供任何的实现,都是通过其子接口List,Set等接口来实现,在泛型处理中,容器不能持有基本数据类型如int,float等,但是可以持有其原生对象Integer,Float,Character等。
List接口
常用的实现类有ArrayList,LinkedList,Stack,Vector等,和数组的性质一样,有序,但是可以自动扩容,允许重复的元素出现,但是不允许空的元素出现,在使用过程中,如果要进行大量的随机访问就是用ArrayList,如果要经常做从集合中插入或删除元素,就是用LinkedList。在迭代元素时可以使用Iterator和foreach循环来实现,按照插入的顺序迭代出来,但是使用Iterator的时候不保证顺序。ArrayList和LinkedList不是线程安全的,在使用时要注意,如果需要同步则需要使用List list = Collections.synchronizedList(new ArrayList(...))来进行包装。LinkedList可以提供对Queue和Stack的支持,队列和栈。PriorityQUeue是Queue的实现类,在插入数据的时候会进行排序,优先级低的排在前面,如代码:
Queue<Integer> queue = new PriorityQueue<Integer>();
queue.add("cqupt");
queue.add("cfupty");
则在输出的时候后add进去的数据会先输入出来。
Map接口
map是将对象和对象相关联,HashMap可以用来快速访问,而TreeMap则要保证key始终处于排序状态,LinkedHashMap要保持元素的插入顺序,也提供一种快速访问。对map进行迭代可以选择使用
for(Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getValue());
}
或者使用Iterator来迭代。key值不能重复。
如果在put的时候key重复,则原来的key和value都会被替代,而且map的key和value都可以嵌套其他的集合。如果在map的key中放了某个类的对象进去,在取的时候需要重写equals和hashCode方法来保证取出的正确性。
HashMap不是线程安全的,key和value都允许null值,这两点是HashMap和HashTable的区别。
TreeMap是要保证顺序,为了防止非同步的访问,则需要进行一次包装
Map m = Collections.synchronizedMap(new HashMap(...))
一些概念:
1、容量(capacity),散列表中的桶的数量
2、初始化容量,在散列表创建时设置的桶的数量,HashMap和HashSet都允许设置容量。
3、负载因子(load factor),等于容器的size/容量,如果负载因子为0,则表示的是空的散列表,1表示满了的散列表。
4、如果两个对象相同,则他们的hashCode一定相同,如果两个对象对象的hashCode相同,但这两个对象不一定相同。
Set接口
不接受重复元素,Hashset提供最快的查询速度,TreeSet保持元素处于排序状态,LinkedHashSet以插入顺序保存元素。
HashCode
计算hashCode:
1、将int变量result赋值给某个非零值常量
2、为对象内的每个有意义的域f(在equals方法中要比较的域) ,来计算一个int类型的值c
boolean c = (f?0:1)
byte,char,short,int c=(int)f
long c=(int)(f^(f>>>32))
float
分享到:
相关推荐
Java集合框架是Java编程语言中的一个核心部分,它为数据存储和管理提供了高效且灵活的解决方案。本思维导图及总结旨在深入理解并掌握Java集合的相关概念和使用方法。 首先,我们来了解一下Java集合框架的基本构成。...
本文将深入探讨Java集合框架的基础知识,包括接口、类、以及它们在实际开发中的应用。 首先,Java集合框架由一系列接口和实现这些接口的类组成。主要的接口有`List`、`Set`和`Queue`,它们各自代表了不同特性的数据...
在这个“java集合练习题”中,我们主要关注如何使用Java集合框架来处理数据,特别是对于学生信息的存储、排序和输出。以下是对这个练习题的详细解析: 1. **集合框架简介**: Java集合框架是Java API的一部分,它...
Java集合框架是Java编程语言中不可或缺的一部分,它提供了一组高效的数据结构和算法,使得开发者可以方便地存储和管理对象。这份"Java集合思维导图.xmind.zip"压缩包文件,显然旨在帮助学习者深入理解Java集合框架的...
### Java集合知识大全 #### 一、集合概述 在Java编程语言中,集合是一组用于存储其他对象的对象。集合框架提供了多种数据结构,用于管理不同类型的数据。这些数据结构包括列表(List)、集(Set)、映射(Map)等,每种...
xmind格式的Java集合框架学习导图,包括Collection接口/Map接口以及具体实现类。 同样包含大厂面试题,也在导图中有所体现。 能学到什么: 更加成体系的知识框架,更加全面的、系统的知识。 思维导图: 思维导图具有...
Java集合框架是Java编程语言中的一个核心组成部分,它为数据存储和操作提供了丰富的接口和类。在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java...
Java集合框架中的`List`接口和数组(Array)是两种常用的数据结构,它们在处理数据时各有优势。下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这...
Java集合框架是Java编程语言中用于存储和管理对象的核心组件,它包括了各种接口和类,为处理数据提供了丰富的选择。在本次实验中,我们深入学习了Java集合框架中的两个主要部分:List接口和Map接口,以及它们的主要...
【Java集合】 Java集合框架是Java编程语言中用于存储和操作对象的工具,它提供了多种数据结构,如列表、集、映射等,以适应不同的数据处理需求。集合类通常位于`java.util`包下,是Java程序员必备的知识点。 1. **...
### Java集合框架总结 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和...
Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...
Java集合框架是Java编程语言中一个非常重要的组成部分,它提供了一组高级的数据结构,使得开发者能够更方便地管理和操作对象。在本次实验中,我们主要关注了三个主要的集合接口:Set、List和Map,以及它们的一些常见...
Java集合框架是Java编程语言中一个非常重要的组成部分,它为开发者提供了存储和操作对象的统一接口和类。这个框架使得处理各种数据结构变得更加方便和高效。在这个“java集合框架的使用”主题中,我们将深入探讨如何...
Java集合框架是Java编程语言中不可或缺的一部分,它提供了一组接口和类,用于高效地存储、管理和操作数据。这个“一个讲解很清晰的Java集合框架PPT”显然是一个对外公开的教育资源,旨在帮助学习者深入理解Java集合...
Java集合框架是Java编程语言中的核心部分,它提供了一种高效、灵活的方式来组织和操作对象的集合。在Java中,集合主要分为两大类:Collection和Map。本文将深入讲解Java集合类,特别是Collection接口和其下的List、...
Java集合整体讲解,其中包含了Collection,Map,Iterator和一些工具类,以及集合整体大框架
Java集合框架是Java编程语言中的核心组件之一,它为存储、管理和操作对象提供了一套高效且灵活的工具。本系列深入讲解了Java集合框架中的重要组成部分,包括HashMap、ArrayList、LinkedHashMap、HashSet以及...
该文档主要详细总结了Java集合的相关知识,包括Collection和Map接口、Collection接口的子接口List和Set接口以及具体的实现类、存储原理等;Map接口的子接口HashMap、LinkedHashMap、TreeMap、Properties等