常见同义方法的区别(新增、删除类)

4 阅读3分钟

一、新增类:add、put、append、offer

1.add()

多用于 Java:List、Set。用来给单列集合添加一个元素。

  • List.add():加到末尾,允许重复
  • Set.add():如果添加的元素与原有元素重复,添加失败,返回false
List<String> list = new ArrayList<>();
list.add("橘子");

Set<String> set = new HashSet<>();
set.add("橘子");

2.put()

多用于 Java Map、一些缓存结构。用来存入一组 key-value(键值对)key不存在就新增,存在就覆盖。

Map<String,Integer> map = new HashMap<>();
map.put("橘子", 10);
map.put("橘子", 20); // key重复,覆盖,橘子变成20

3.append()

用于字符串的拼接。注意,Java 的普通 String 字符串没有 append() 方法。append() 是 StringBuilder 的专属方法。

StringBuilder sb = new StringBuilder();
sb.append("hello");
sb.append(" world");
  • append 是在列表末尾追加一个元素,约等于List.add()

4.offer()

和 add () 很像,都是往队列添加元素。添加失败返回 false,不抛异常,更安全。

Queue<String> queue = new LinkedList<>();
queue.offer("a"); // 推荐队列使用offer

二、删除类:remove、delete、drop、pop、clear

1.remove()

删除指定的某一个元素,最通用的集合删除方法。

  • List.remove (元素):删除匹配元素;也支持 remove (下标)
  • Set.remove (元素):删除指定元素
  • Map.remove (key):根据 key 删除整条键值对
List<String> list = new ArrayList<>();
list.add("苹果");
list.remove("苹果");

2.pop()

栈专用,拿走最顶上那一个,拿走就删掉

Deque<String> stack = new ArrayDeque<>();
stack.push("第一层");
stack.push("第二层");
stack.push("第三层"); // 现在栈顶是第三层

String top = stack.pop(); // 取出并且删掉【第三层】
System.out.println(top); // 输出:第三层

3.clear

盒子保留,里面所有东西一次性全部清空

List<String> list = new ArrayList<>();
list.add("猫");
list.add("狗");
list.add("鸟");

list.clear(); 
// 现在list还是这个列表,但是里面啥都没有了

4.delete

一般不用在普通列表里;用来删文字、文件、数据库单行

// 例子1:字符串工具,删除一段文字
StringBuilder sb = new StringBuilder("abcde");
sb.delete(1,3); // 删掉下标1到3的内容,结果变成 ade

// 例子2:删除电脑上的一个文件
File file = new File("test.txt");
file.delete(); // 删除这个文件

5.drop

Java 基础代码没有这个方法,是数据库 SQL 里的命令

  • delete from 学生表;:删掉表里所有学生数据,表格架子还在,以后还能往里加数据
  • drop table 学生表;:直接把整张表格删掉,架子都没了,想要就得重新建表

简单汇总:

方法简单理解例子一句话
remove删除指定的一个list.remove ("香蕉"),只删掉香蕉
pop删掉栈最顶上一个stack.pop (),取出栈顶并删除
clear全部清空list.clear (),盒子留着,东西全没
delete删文字、文件、数据库单条sb.delete () 删掉一段字符
drop数据库删掉整张表drop table 表名,表直接消失

小结:

  • add 用于 List、Set,添加单个元素;put 用于 Map,存放键值对,如果 key 重复会覆盖旧数据;append 一般代表在末尾追加,常用于字符串拼接和 Python 列表。
  • 删除方法里:remove 删除指定元素;pop 删除元素同时把删除的内容返回,适合栈操作;clear 清空集合里所有数据,集合本身还在。而 delete 和 drop 更多出现在 SQL 语句中:delete 只删表里的数据,drop 直接把整张表删掉。