最近有小伙伴找到小千,文小千哥能不能把集合讲一讲!尤其是在面试阶段,集合被问到的概率还是很大的。既然小伙伴又需要,那小千必须安排啊,走起来!
一. List集合
1. List简介
List继承于Collection接口,是一个有序的Collection。List中允许有重复的元素,实现List接口的常用类有 LinkedList、ArrayList、Vector等。List的基本用法如下所示:
import java.util.ArrayList;
import java.util.List;
public class ListTest {
public static void main(String[] args) {
List<String> listTest=new ArrayList<>();
//向集合中添加数据
listTest.add("千锋北京");
listTest.add("千锋成都");
listTest.add("千锋武汉");
System.out.println(listTest);
System.out.println(listTest.get(2));
listTest.add(1, "千锋杭州");
System.out.println(listTest);
System.out.println(listTest.get(2));
}
}
以下就为运行的结果:
2. 小结
List是一个有序的集合,可以有重复的元素;
查找元素效率高,插入删除效率低,因为删除时会引起其他元素的位置改变。
二. Set集合
1、Set简介
Set也实现自Collection接口,Set中的值不能重复。以下是Set集合的基本用法:
import java.util.HashSet;
import java.util.Set;
public class SetTest {
public static void main(String[] args) {
Set setTest = new HashSet<>();
setTest.add("千锋成都");
setTest.add("千锋成都");
setTest.add(520);
setTest.add("千锋北京");
System.out.println(setTest);
System.out.println(setTest.size());
}
}
小伙伴可以看到以下就是运行的结果:
2、Set小结
不允许存储重复的元素(根据重写hashCode()和equals()方法来判断是不是同一对象);
没有索引,没有带索引的方法,所以也就不能使用普通的for循环进行遍历。
三. Map集合
1、Map简介
Map集合是一个key-value结构的双列集合,key不允许重复,value可以重复。基本用法如下:
import java.util.HashMap;
import java.util.Map;
public class MapTest {
public static void main(String[] args) {
Map<String, String> map=new HashMap<String, String>();
map.put("1", "千锋北京");
map.put("1", "千锋成都");
map.put("2","千锋杭州");
System.out.println(map);
}
}
以下就是运行结果:
2、Map小结
Map集合与Collection集合没有任何关系,这是与Collection集合同级的第二大集合操作接口;
Map是键值对结构的集合,以key-value结构进行保存(成对出现),其中key是唯一的标识;
使用Collection集合不容易存取数据,但使用键值对的方式实现存取就比较简单。
以上就是波哥带大家进行的集合复习,因为受限于内容长度,很多底层原理及其他特性都没有讲到,我会在后面的文章中进行讲解,欢迎持续关注哦。关注千锋官方博客,干货天天都不断哦!
如果各位想要了解更多Java基础知识,各位请扫描下方二维码,全套免费Java免费精品课程,免费观看!免费!全免费!