集合框架(二)和泛型

Map (Key-value 键值对/夫妻对)
1.掌握Map接口的使用
HashMap<Key,Value>
map 无序 获取键值根据Key

常用API
1.void put(Object Key, Object value);键值对
2.Object get (Object Key);根据键获取值 (键是唯一的)
3.int size();获取集合中的键值数量
4.boolean containsKey(Object Key);是否包含指定的键
5.boolean containsvalue(Object value);是否包含指定的值
6.Setkey set();获取所有键的集合
7.Collection values();获取所有的值的集合
8.Object remove (Object key);根据键删除值 返回被删除的值
9.boolean isEmpty();判断是否为空集合
10.void clear();清空集合内容
三种遍历集合方式:
public class Demo1 {
public static void main(String[] args) {
Map<String, String> hashMap = new HashMap<>();
hashMap.put(“CN”, “中国”);
hashMap.put(“RU”, “俄国”);
hashMap.put(“UK”, “英国”);
// 获取键集合
Set keySet = hashMap.keySet();
// 遍历键集合[推荐]
/for (String key : keySet) {
// 根据键获取值
// keySet.get(key)
String value = hashMap.get(key);
System.out.println(key+" --> "+value);
}
/
// 迭代器遍历
Iterator iterator = keySet.iterator();
while(iterator.hasNext()) {
String key = iterator.next();
String value = hashMap.get(key);
System.out.println(key+" --> "+value);
}
}
}
2.了解HashMap和Hashtable
线程安全问题
多线程:重,难点
相同点:
1.HashMap 和 Hashtable 都是map 接口实现的,都可以实现键值对存储
不同点:
1.HashMap 键值存储都可以为 null 如果键为null 则只能存储第一位
hashtable键值存储都不允许为null
2.HashMap是线程不安全的 效率低
hashtable 是线程安全的 效率低
3.掌握泛型的使用
在集合中来声明元素数据类型的
泛型必须是引用数据类型(包装类型)
包装类 注解 泛型…
1.在集合中用泛型声明集合元素类型
2.利用泛型将(通过泛型占位符来进行扩展)
4.掌握collections工具类的常用操作
Arrays
Collections
1.void sort(集合);对集合进行升序排序
2.int max(集合);获取集合中的最大值
3.int min(集合);获取集合中的最小值
4.int binarySearch(集合,要查找的元素);查找指定键
5.void suffle(集合);打乱集合元素顺序

回答: Java集合框架中的Map是一种键值对的数据结构,可以存储一组具有唯一键和对应值的元素。使用泛型可以在编译时进行类型检查,确保集合中只能存储指定类型的元素,提高代码的可读性和安全性。 在引用中的示例代码中,List<String>定义了一个只能存储字符串类型元素的列表。在引用中的示例代码中,Collection<String>和Collection<Integer>分别定义了只能存储字符串类型和整数类型元素的集合。使用泛型通配符可以增加集合的灵活性。比如在coll.removeAll(c)方法中,传入的Collection对象的泛型可以是任意类型。另外,泛型还可以应用于Map集合,如引用中的示例代码中,Set<Map.Entry<String,String>>定义了只能存储键值对类型为String的元素的集合。 综上所述,Java集合框架中的Map和泛型可以一起使用,通过泛型可以指定集合中存储的元素类型,增加代码的可读性和类型安全性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [java基础中的--------Map+泛型](https://blog.csdn.net/liutaiwu/article/details/107915445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值