常见的同义方法的区别
增加类
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()); //