链表(LinkedList)是一种常见的基础数据结构,是一种线性表,在每一个节点里存储下一个节点的地址。链表分为单向链表和双向链表。单向链表包含两个值:当前节点的值和指向下一个节点的链接;双向链表有三个整数值:数值、向后的节点链接、向前的节点链接。
// 引入 LinkedList 类import java.util.LinkedList;
LinkedList<E> list = new LinkedList<E>(); // 普通创建方法或者LinkedList<E> list = new LinkedList(Collection<? extends E> c); //使用集合创建链表
1、创建链表:
// 引入 LinkedList 类
import java.util.LinkedList;
public class RunoobTest {
public static void main(String[] args) {
LinkedList<String> sites = new LinkedList<String>();
sites.add(“Google”);
sites.add(“Taobao”);
sites.add(“Weibo”);
System.out.println(sites);
}
}
2、添加元素:
// 引入 LinkedList 类
import java.util.LinkedList;
public class RunoobTest {
public static void main(String[] args) {
LinkedList<String> sites = new LinkedList<String>();
sites.add(“Google”);
sites.add(“Taobao”);
// 使用 addFirst() 在头部添加元素
sites.addFirst(“Wiki”); //sites.addLast(“Wiki”);
System.out.println(sites);
}
}
3、移除元素:
/ 引入 LinkedList 类
import java.util.LinkedList;
public class RunoobTest {
public static void main(String[] args) {
LinkedList<String> sites = new LinkedList<String>();
sites.add(“Google”);
sites.add(“Taobao”);
sites.add(“Weibo”);
// 使用 removeFirst() 移除头部元素
sites.removeFirst(); //sites.removeLast();
System.out.println(sites);
}
}
4、获取元素:
// 引入 LinkedList 类
import java.util.LinkedList;
public class RunoobTest {
public static void main(String[] args) {
LinkedList<String> sites = new LinkedList<String>();
sites.add(“Google”);
sites.add(“Taobao”);
sites.add(“Weibo”);
// 使用 getFirst() 获取头部元素
System.out.println(sites.getFirst());// System.out.println(sites.getLast());
}
}
5、迭代元素:
// 引入 LinkedList 类
import java.util.LinkedList;
public class RunoobTest {
public static void main(String[] args) {
LinkedList<String> sites = new LinkedList<String>();
sites.add(“Google”);
sites.add(“Taobao”);
sites.add(“Weibo”);
for (int size = sites.size(), i = 0; i < size; i++) {
System.out.println(sites.get(i));
}
}
}
链表(LinkedList)的常用方法:
public boolean add(E e) |
|
public boolean addAll(Collection c) |
|
public void addFirst(E e) |
元素添加到头部。 |
public void addLast(E e) |
元素添加到尾部。 |
public boolean offer(E e) |
|
public boolean offerFirst(E e) |
|
public boolean offerLast(E e) |
|
public void clear() |
清空链表。 |
删除并返回第一个元素。 |
|
public E poll() |
删除并返回第一个元素。 |
删除并返回第一个元素。 |
|
判断是否含有某一元素。 |
|
public E get(int index) |
返回指定位置的元素。 |
public E getFirst() |
返回第一个元素。 |
public E getLast() |
返回最后一个元素。 |
public int indexOf(Object o) |
|
public int lastIndexOf(Object o) |
|
public E peek() |
返回第一个元素。 |
public E element() |
返回第一个元素。 |
public E peekFirst() |
返回头部元素。 |
public E peekLast() |
返回尾部元素。 |
public Object clone() |
克隆该列表。 |
返回倒序迭代器。 |
|
public int size() |
返回链表元素个数。 |
public ListIterator listIterator(int index) |
返回从指定位置开始到末尾的迭代器。 |
public Object[] toArray() |
返回一个由链表元素组成的数组。 |
public T[] toArray(T[] a) |
HashSet是基于HashMap实现的,是不允许有重复元素的集合。HashSet允许有null值。HashSet是无序的,即不会记录插入的顺序。HashSet不是线程安全的,如果多个线程修改HashSet,则最终结果是不确定的。
基本类型 |
引用类型 |
boolean |
Boolean |
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
Float |
|
double |
Double |
Character |
1、添加元素:
// 引入 HashSet 类
import java.util.HashSet;
public class RunoobTest {
public static void main(String[] args) {
HashSet<String> sites = new HashSet<String>();
sites.add(“Google”);
sites.add(“Taobao”);
sites.add(“Zhihu”);
System.out.println(sites);
}
}
2、判断元素是否存在:
// 引入 HashSet 类
import java.util.HashSet;
public class RunoobTest {
public static void main(String[] args) {
HashSet<String> sites = new HashSet<String>();
sites.add(“Google”);
sites.add(“Taobao”);
sites.add(“Zhihu”);
System.out.println(sites.contains(“Taobao”));
}
}
3、删除元素:
// 引入 HashSet 类
import java.util.HashSet;
public class RunoobTest {
public static void main(String[] args) {
HashSet<String> sites = new HashSet<String>();
sites.add(“Google”);
sites.add(“Taobao”);
sites.add(“Zhihu”);
sites.clear();
System.out.println(sites);
}
}
// 引入 HashSet 类
import java.util.HashSet;
public class RunoobTest {
public static void main(String[] args) {
HashSet<String> sites = new HashSet<String>();
sites.add(“Google”);
sites.add(“Taobao”);
sites.add(“Zhihu”);
System.out.println(sites.size());
}
}
5、迭代HashSet:
// 引入 HashSet 类
import java.util.HashSet;
public class RunoobTest {
public static void main(String[] args) {
HashSet<String> sites = new HashSet<String>();
sites.add(“Google”);
sites.add(“Taobao”);
sites.add(“Zhihu”);
for (String i : sites) {
System.out.println(i);
}
}
}
三、Java HashMap:
HashMap是一个散列表,存储的内容是键值对(key–value)映射。HashMap实现Map接口,根据键的HashCode值存储数据,快速访问,最多允许一条记录的键为null,不支持线程同步。HashMap是无序的,不记录插入的顺序。
1、添加元素:
// 引入 HashMap 类
import java.util.HashMap;
public class RunoobTest {
public static void main(String[] args) {
// 创建 HashMap 对象 Sites
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
// 添加键值对
Sites.put(1, “Google”);
Sites.put(2, “Taobao”);
Sites.put(3, “Zhihu”);
System.out.println(Sites);
}
}
2、访问元素:
// 引入 HashMap 类
import java.util.HashMap;
public class RunoobTest {
public static void main(String[] args) {
// 创建 HashMap 对象 Sites
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
// 添加键值对
Sites.put(1, “Google”);
Sites.put(2, “Taobao”);
Sites.put(3, “Zhihu”);
System.out.println(Sites.get(3));
}
}
3、删除元素:
// 引入 HashMap 类
import java.util.HashMap;
public class RunoobTest {
public static void main(String[] args) {
// 创建 HashMap 对象 Sites
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
// 添加键值对
Sites.put(1, “Google”);
Sites.put(2, “Taobao”);
Sites.put(3, “Zhihu”);
Sites.remove(3);
System.out.println(Sites);
}
}
// 引入 HashMap 类
import java.util.HashMap;
public class RunoobTest {
public static void main(String[] args) {
// 创建 HashMap 对象 Sites
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
// 添加键值对
Sites.put(1, “Google”);
Sites.put(2, “Taobao”);
Sites.put(3, “Zhihu”);
System.out.println(Sites.size());
}
}
5、迭代HashMap:
// 引入 HashMap 类
import java.util.HashMap;
public class RunoobTest {
public static void main(String[] args) {
// 创建 HashMap 对象 Sites
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
// 添加键值对
Sites.put(1, “Google”);
Sites.put(2 “Taobao”);
Sites.put(3, “Zhihu”);
// 输出 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 + “, “);
}
}
}
HashMap方法:
clear() |
删除 hashMap 中的所有键/值对 |
clone() |
|
isEmpty() |
判断 hashMap 是否为空 |
size() |
|
put() |
将键/值对添加到 hashMap 中 |
putAll() |
将所有键/值对添加到 hashMap 中 |
putIfAbsent() |
|
containsKey() |
|
containsValue() |
|
replace() |
|
replaceAll() |
|
get() |
|
getOrDefault() |
|
forEach() |
|
entrySet() |
|
keySet() |
返回 hashMap 中所有 key 组成的集合视图。 |
values() |
返回 hashMap 中存在的所有 value 值。 |
merge() |
添加键值对到 hashMap 中 |
compute() |
对 hashMap 中指定 key 的值进行重新计算 |
computeIfAbsent() |
对 hashMap 中指定 key 的值进行重新计算,如果不存在这个 key,则添加到 hasMap 中 |
对 hashMap 中指定 key 的值进行重新计算,前提是该 key 存在于 hashMap 中。 |
原文地址:https://blog.csdn.net/corlin6688/article/details/134536617
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_6895.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!