当前位置: 首页 > news >正文

安卓基础(HashMap和ArrayList)

在 Java 中,new ArrayList 用于创建一个动态数组对象。ArrayList 属于 Java 集合框架(Java Collections Framework),支持动态调整大小,比传统数组更灵活。

// 初始化一个空的字符串列表
ArrayList<String> list = new ArrayList<>();// 初始化一个包含初始元素的列表(Java 9+)
ArrayList<String> listWithElements = new ArrayList<>(List.of("苹果", "香蕉", "橘子"));

​2. 添加元素​

(1) 添加单个元素
list.add("苹果");   // ["苹果"]
list.add("香蕉");   // ["苹果", "香蕉"]
(2) 添加多个元素
list.addAll(List.of("橘子", "葡萄")); // ["苹果", "香蕉", "橘子", "葡萄"]

3. 访问元素​

(1) 通过索引获取元素
String fruit = list.get(0); // "苹果"
(2) 遍历列表
// 使用 for 循环
for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));
}// 使用增强型 for 循环
for (String item : list) {System.out.println(item);
}// 使用迭代器
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {System.out.println(iterator.next());
}

​4. 修改元素​

list.set(1, "芒果"); // 将索引 1 的元素改为 "芒果"
// 结果:["苹果", "芒果", "橘子", "葡萄"]

​5. 删除元素​

(1) 按索引删除
list.remove(0); // 删除索引 0 的元素 → ["芒果", "橘子", "葡萄"]
(2) 按对象值删除
list.remove("橘子"); // 删除第一个匹配的元素 → ["芒果", "葡萄"]

在 Java 中,HashMap 是用于存储 ​​键值对(Key-Value Pair)​​ 的核心数据结构,类似于 Python 的字典。它基于哈希表实现,支持高效的插入、删除和查找操作(平均时间复杂度 O(1))。

// 空HashMap,键类型为 String,值类型为 Integer
HashMap<String, Integer> map = new HashMap<>();// 初始化并添加元素(Java 9+)
HashMap<String, Integer> initializedMap = new HashMap<>(Map.of("Apple", 10,"Banana", 5
));

​2. 核心操作​

(1) 添加/更新键值对
map.put("Apple", 10);   // 添加键值对 {"Apple": 10}
map.put("Banana", 5);   // 添加键值对 {"Banana": 5}
map.put("Apple", 15);   // 更新 "Apple" 的值为 15
(2) 获取值
int appleCount = map.get("Apple");  // 返回 15
int orangeCount = map.getOrDefault("Orange", 0); // 键不存在时返回默认值 0
(3) 删除键值对
map.remove("Banana");    // 删除键 "Banana"
map.remove("Apple", 15); // 仅当键值匹配时删除

​3. 遍历 HashMap​

(1) 遍历所有键值对
for (Map.Entry<String, Integer> entry : map.entrySet()) {String key = entry.getKey();int value = entry.getValue();System.out.println(key + ": " + value);
}
(2) 遍历所有键
for (String key : map.keySet()) {System.out.println("Key: " + key);
}
(3) 遍历所有值
for (int value : map.values()) {System.out.println("Value: " + value);
}

相关文章:

  • 注意力机制:从 MHA、MQA、GQA、MLA 到 NSA、MoBA
  • 东莞SMT贴片加工工艺优化解析
  • 代码随想录算法训练营 Day34 动态规划Ⅱ 路径
  • 魔三与指北者新品发布会在茅台镇圆满举办,开启音乐设备新篇章
  • 北京市延庆区“禅苑茶事“非遗项目挂牌及茶事院正式启用
  • 孙宇晨将出席迪拜Token2049 与特朗普次子共话加密未来
  • 使用腾讯地图检索地点
  • .NET8配置组件
  • 锁和事务谁在外层
  • c++进阶——多态
  • word文档插入公式后行距变大怎么办?
  • 一文了解无人机系统
  • Ubuntu18.04安装IntelliJ IDEA2025步骤
  • 互容是什么意思?
  • 数据访问模式详解:在线访问、DAO、DTO、离线存储与ORM
  • 碳基芯片:半导体技术的下一个突破点?
  • 数据要素与居民就业的深层联结 数字化转型下的劳动力市场变革
  • 铭依眼科亮相“中华眼科菁英“.创新思路赋能近视矫正新高度
  • 12分区 3号机 送风分区送风 会远程启,不会远停
  • 从技术走向管理:带来哪些角色转变与挑战
  • 探索演艺产业新路径,2万观众走进音乐科技融创节
  • 王毅:为改革完善全球治理作出金砖贡献
  • 宁波银行一季度净利74.17亿元增5.76%,不良率持平
  • 十四届全国人大常委会第十五次会议在京举行,审议民营经济促进法草案等
  • 梅花画与咏梅诗
  • 锚定“双一流”战略坐标,福建农林大学向全球英才“伸出橄榄枝”