java集合面试题

本文详细介绍了Java集合框架中的关键接口Collection、List、Set和Map,包括它们的子类、遍历方法(Iterator和for循环)以及常用操作,如ArrayList、Vector、HashSet和Map的实例演示。
摘要由CSDN通过智能技术生成

1.集合

 

//1. 集合主要是两组 ( 单列集合 , 双列集合 )
//2. Collection 接口有两个重要的子接口 List Set , 他们的实现子类都是单列集合
//3. Map 接口的实现子类 是双列集合,存放的 K-V
//4. 把老师梳理的两张图记住

2.Collection 接口和常用方法

 Collection 接口遍历元素方式 1-使用 Iterator(迭代器)

 Collection 接口遍历对象方式 2-for 循环增强

 

Collection col = new ArrayList();
col.add(new Book(" 三国演义 ", " 罗贯中 ", 10.1));
col.add(new Book(" 小李飞刀 ", " 古龙 ", 5.1));
Iterator iterator = col.iterator();
//2. 使用 while 循环遍历
//
while (iterator.hasNext()) {// 判断是否还有数据
返回下一个元素,类型是 Object
Object obj = iterator.next();
System.out.println("obj=" + obj);
}

3.list接口

 

 Vector:向量;矢量;载体;矢量图;维克多

4,ArrayList 底层结构和源码分析

Vector 底层结构和源码剖析

 

 

 LinkedList 底层结构

 5.Set接口

 

 Set 接口实现类-HashSet

 

 

 

 

 

 

6. Map 接口和常用方法

 

// 第一组 : 先取出 所有的 Key , 通过 Key 取出对应的 Value
Set keyset = map.keySet()
//(1) 增强 for
System.out.println("----- 第一种方式 -------");
for (Object key : keyset) {
System.out.println(key + "-" + map.get(key));
}
//(2) 迭代器
System.out.println("---- 第二种方式 --------");
Iterator iterator = keyset.iterator();
while (iterator.hasNext()) {
Object key = iterator.next();
System.out.println(key + "-" + map.get(key));
}
// 第二组 : 把所有的 values 取出
Collection values = map.values();
// 这里可以使用所有的 Collections 使用的遍历方法
//(1) 增强 for
System.out.println("--- 取出所有的 value 增强 for----");
for (Object value : values) {
System.out.println(value);
}
//(2) 迭代器
System.out.println("--- 取出所有的 value 迭代器 ----");
Iterator iterator2 = values.iterator();
while (iterator2.hasNext()) {
Object value = iterator2.next();
System.out.println(value);
}
// 第三组 : 通过 EntrySet 来获取 k-v
Set entrySet = map.entrySet();// EntrySet<Map.Entry<K,V>>
//(1) 增强 for
System.out.println("---- 使用 EntrySet for 增强 ( 3 )----");
for (Object entry : entrySet) {
// entry 转成 Map.Entry
Map.Entry m = (Map.Entry) entry;
System.out.println(m.getKey() + "-" + m.getValue());
}
//(2) 迭代器
System.out.println("---- 使用 EntrySet 的 迭代器 ( 4 )----");
Iterator iterator3 = entrySet.iterator();
while (iterator3.hasNext()) {
Object entry = iterator3.next();
//System.out.println(next.getClass());//HashMap$Node - 实现 -> Map.Entry (getKey,getValue)
// 向下转型 Map.Entry
Map.Entry m = (Map.Entry) entry;
System.out.println(m.getKey() + "-" + m.getValue());
}

 

 

 

Map 接口实现类-Hashtable

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值