常见的同义方法的区别:增加类和删除类

常见的同义方法的区别

增加类

add:把单个元素加入到集合里,对List是在末尾加入元素,对Set是尝试加入(如果有该元素则不添加)。

java 复制代码
List<String> list = new ArrayList<>();
list.add("A");
list.add("A");
System.out.println(list);   // [A, A]   两个都在

Set<String> set = new HashSet<>();
set.add("A");
set.add("A");
System.out.println(set);    // [A]      只留一个

put:Map接口专用,给Map添加键值对。

java 复制代码
Map<String, Integer> map = new HashMap<>();

map.put("苹果", 1);   // 没有 → 新增,返回 null
map.put("香蕉", 2);   // 新增,返回 null
map.put("苹果", 99);  // 已有 → 覆盖,返回旧值 1

System.out.println(map);  // {苹果=99, 香蕉=2}

append:StringBuilder / StringBuffer的方法,把参数的字符串追加到当前字符序列末尾。

java 复制代码
StringBuilder sb = new StringBuilder();
sb.append("你好");
sb.append(",世界");
sb.append("!");

System.out.println(sb);   // 你好,世界!

insert:StringBuilder / StringBuffer的方法,把参数的字符串插入到指定位置。

java 复制代码
StringBuilder sb = new StringBuilder("Hello");
sb.insert(5, " World");   // 在下标 5 处插入

System.out.println(sb);   // Hello World

addall:Collection 接口(List、Set 等都继承),把另一个集合的所有元素批量加入当前集合。

java 复制代码
List<String> list = new ArrayList<>();
list.add("A");

list.addAll(Arrays.asList("B", "C", "D"));  // 一次加多个

System.out.println(list);   // [A, B, C, D]

push:Deque 接口使用,把元素压到栈顶。

java 复制代码
Stack<String> stack = new Stack<>();
stack.push("A");
stack.push("B");
stack.push("C");

System.out.println(stack);   // [A, B, C]
System.out.println(stack.pop());  // C  (后进先出,最后进的先出)

删除类

remove:按值或者按索引删除。

java 复制代码
List<String> list = new ArrayList<>(Arrays.asList("A", "B", "C"));

list.remove("B");      // 按【值】删 → [A, C]
list.remove(0);        // 按【下标】删 → 删掉 A

System.out.println(list);   // [C]

delete:SQL中按照条件从表中删除一行或多行记录,表本身的结构(列定义、索引、约束)保持不变

sql 复制代码
-- 删某个名字的用户
DELETE FROM users WHERE name = '张三';

-- 删某个范围内的
DELETE FROM orders WHERE create_time < '2024-01-01';

-- 删全部但更快(不能加 WHERE,且不可回滚)
TRUNCATE TABLE users;

drop:SQL中删除整个对象。

sql 复制代码
-- 删掉整张表(结构和数据全没)
DROP TABLE users;

pop:删除并返回,栈/队列语义。

java 复制代码
Stack<String> stack = new Stack<>();
stack.push("A");
stack.push("B");
stack.push("C");

System.out.println(stack.pop());   // C  (取出栈顶,并删掉)
System.out.println(stack);         // [A, B]

clear:删除所有元素。

java 复制代码
List<String> list = new ArrayList<>(Arrays.asList("A", "B", "C"));
list.clear();
System.out.println(list);      // []
System.out.println(list.size()); // 
相关推荐
学到老活到老40 分钟前
方法执行完了,对象为什么还占着内存?
java·jvm
房西杭44 分钟前
行会仓库 GuildStoreMgr(Lua,和 StoreMgr / BagMgr 容器接口对齐)
后端
站大爷IP1 小时前
Python的文本IO把我坑惨了,原来read和readlines的区别这么大
后端
没事写点啥1 小时前
WeKnora 上下文管理
后端·ai编程
十年Java程序媛1 小时前
Java this 与 super 详解|继承高频踩坑 + 面试题整理
java·spring boot·面试
爱勇宝1 小时前
AI 都这么强了,咱们程序员以后还能干点啥?
前端·后端·程序员
用户244159813761 小时前
《深入理解C语言》系列 · 第05篇:内存与程序运行机制
后端
用户7771298509121 小时前
Stream流式使用
java
嘿嘿嘿9151 小时前
从跟课到脱稿重写:一个文字格斗游戏里踩过的 9 个坑
后端