Kyle的算法记录

本文将展示一个小白从0 ->1 完成算法的全部历练已经心得
PS:要求做到真正的自我思考而不是对着教程敲代码,并借用AI进行辅佐与思考

LinkedList

LinkedList里的add和remove,都是索引/索引+值进行操作
// 在链表头部插入元素 0
lst.addFirst(0);
// 在链表尾部插入元素 6
lst.addLast(6);

队列Queue

Queue q = new LinkedList<>();
// 在队尾添加元素
q.offer(10);
// 删除队头元素
q.poll();
// 获取队列的队头元素
System.out.println(q.peek());

Stack

// 初始化一个空的整型栈 s
Stack s = new Stack<>();
// 向栈顶添加元素
s.push(10);
// 获取栈顶元素
System.out.println(s.peek());
// 删除栈顶元素
s.pop();

HashMap

// 查找指定键值是否存在
// 输出:Key 2 -> two
if(hashmap.containsKey(2)) {
System.out.println("Key 2 -> " + hashmap.get(2));

// 获取指定键对应的值,若不存在则返回默认值
// 输出:defaultVal
System.out.println(hashmap.getOrDefault(4, “defaultVal”));
// 插入一个新的键值对
hashmap.put(4, “four”);

// 遍历哈希表
// 输出(顺序可能不同):
for(Map.Entry pair : hashmap.entrySet()) {
System.out.println(pair.getKey() + " -> " + pair.getValue());
}

HashSet

// 查找指定元素是否存在
// 输出:Element 3 found.
if(hashset.contains(3)) {
System.out.println(“Element 3 found.”);

推荐写法:

java
复制
编辑
Map map = new HashMap<>();
✅ 左边用的是接口 Map,右边用的是具体实现类 HashMap。

你可能感兴趣的:(算法)