本文主要是介绍Java笔记之--ArrayList,LinkedList,HashSet, HashMap的理解以及常用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
引入:如何创建对象
//
ArrayList<E> objectName =new ArrayList<>(); // 初始化
ArrayList<String> sites = new ArrayList<String>();
//
LinkedList<E> list = new LinkedList<E>(); // 普通创建方法
或者
LinkedList<E> list = new LinkedList(Collection<? extends E> c); // 使用集合创建链表
LinkedList<String> sites = new LinkedList<String>();
//
HashSet<String> sites = new HashSet<String>();
//
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
一.ArrayList
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
ArrayList 继承了 AbstractList ,并实现了 List 接口。
常用方法:
![在这里插入图片描述](/upload/202201/03/202201031107520399.png)
![在这里插入图片描述](/upload/202201/03/202201031107521471.png)
二.LinkedList
LinkedList其实是一种链表结构,
LinkedList 继承了 AbstractSequentialList 类。
LinkedList 实现了 Queue 接口,可作为队列使用。
LinkedList 实现了 List 接口,可进行列表的相关操作。
LinkedList 实现了 Deque 接口,可作为队列使用。
LinkedList 实现了 Cloneable 接口,可实现克隆。
LinkedList 实现了 java.io.Serializable 接口,即可支持序列化,能通过序列化去传输。
![在这里插入图片描述](/upload/202201/03/202201031107522579.png)
常用方法也是与链表的头插法和尾插法,以及队列等相关
![在这里插入图片描述](/images/baidian.png)
![在这里插入图片描述](/upload/202201/03/202201031107544176.png)
三.HashSet
HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。
HashSet 允许有 null 值。
HashSet 是无序的,即不会记录插入的顺序。
HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。
HashSet 实现了 Set 接口。
常见方法:
add, remove,size,contains,clear等,跟ArrayList差不多的用法
四.HashMap
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
HashMap 是无序的,即不会记录插入的顺序。
HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
![在这里插入图片描述](/upload/202201/03/202201031107576306.png)
![在这里插入图片描述](/upload/202201/03/202201031107597467.png)
常见方法:
![在这里插入图片描述](/images/baidian.png)
![在这里插入图片描述](/upload/202201/03/202201031108017862.png)
以上四种集合存放的对象都是引用类型,构建时需要用到他们的封装类
![在这里插入图片描述](/upload/202201/03/202201031108018814.png)
以上四种均可用 for-each进行遍历
例如:
for (String i : sites) {
System.out.println(i);
}
且HashMap可以分别遍历他们的key和value
// 输出 key 和 value
for (Integer i : Sites.keySet()) {
System.out.println("key: " + i + " value: " + Sites.get(i));
}
// 返回所有 value 值
for(String value: Sites.values()) {
// 输出每一个value
System.out.print(value + ", ");
}
该笔记的学习来源于菜鸟教程
这篇关于Java笔记之--ArrayList,LinkedList,HashSet, HashMap的理解以及常用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!