Java学习

您所在的位置:网站首页 Java中集合框架有几种 Java学习

Java学习

2024-07-10 04:42| 来源: 网络整理| 查看: 265

学如逆水行舟,不进则退。——《增广贤文》

一、集合简介

在这里插入图片描述 这2天主要学了这两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。

集合框架体系如图所示: 在这里插入图片描述

接口: 是代表集合的抽象数据类型。 具体类: 是集合接口的具体实现。 算法: 是实现集合接口的对象里的方法执行的一些有用的计算。

之前已经简单了解过数组,那么数组和集合的区别在哪呢? 在这里插入图片描述

二、常用集合的分类

尽管 Map 不是集合,但是它们完全整合在集合中。

常用集合接口和具体类图: 在这里插入图片描述

Collection接口:

List接口: 有序,可重复,能存放null值

ArrayList: 底层是数组,查询和修改比较快,线程不安全LinkedList: 底层是双向链表,增加和删除比较快,线程不安全Vector: 底层是数组,查询和修改比较快,线程安全(同步),但是效率低 Stack: 栈模型先进后出

Set接口:

HashSet: 底层是哈希表,无序,不重复,能存放null 判断元素重复的方式: 1.判断hashcode值是否相同 2.如果相同,判断equals方法

重写这两个方法时,尽量保证每个对象都有不同的hashcode值,这样会提高效率

TreeSet: 底层数据结构是红黑树,有序,不重复,元素类型要兼容,不能存放null 数据按照自然顺序排放(自然顺序:字母按字典,数字按大小,汉字自己顺序)

类:必须实现comparable接口或者自定义个comparator比较器

判断元素重复的方式:比较返回值是否为0

Map接口: 以键对值来存放 key-value

HashMap: 键和值都可以为null,效率高HashTable: 键和值都不可以为null,线程安全(方法同步)TreeMap: 键不能为null,值可以为null,按照键的自然顺序存放,而且需要类型兼容 三、实现方法

建议学习一定要看:JDK1.8中文手册(提取码:rqpr) 详细如图:

在这里插入图片描述

这里简单列举一些ArrayList类的增删改查的方法:

增加 add(E e):将指定的元素追加到此列表的末尾 add(int index, E e):在此列表中的指定位置插入指定的元素

删除 remove(int index):删除该列表中指定位置的元素 remove(Object o):删除指定元素的第一个出现(如果存在或存在多个) clear() :从列表中删除所有元素

修改 set(int index, E element):用指定的元素替换此列表中指定位置的元素

查询 get(int index) :返回此列表中指定位置的元素 size() :返回此列表中的元素数 subList(int fromIndex, int toIndex) :返回此列表中指定的 fromIndex (包括)和 toIndex之间的独占视图 toArray() :以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组

3种遍历方法: 之前只学习了第一个简单的for循环,现在又学到了2种。

1:for循环 for(int i=0;i (); 有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类。 参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 好处:代码安全性,消除强制类型转换

参考文章资料1 参考文章资料2

今天学习分享的内容到此为止了,本是想要激励自己学下去,但发现快乐更是知识在于分享! 作为初学者对于Java的理解实在浅薄,如有错误请指正,万分感谢!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3