String 是不可变字符串常量,底层用字符数组实现;StringBuffer 是线程安全的可变字符串序列,底层类似但有同步操作;StringBuilder 是非线程安全的可变字符串序列,底层与 StringBuffer 类似但无同步操作。ArrayList 基于动态数组,支持随机访问但插入删除中间元素效率低;LinkedList 基于双向链表,随机访问效率低但插入删除中间元素效率高。