目录:
三种集合解析
我觉得学习Java集合最重要的还是List,Set和Map,我们要对这三种集合有一个非常清楚的认识,都是存放数据对象,Map区别两者存放的是含有映射关系的对象就是key-value的形式,list集合存放的数据是有序的,我们说LIst列表,列表肯定是有顺序的,既然有顺序所以list允许数据重复,而set存放的数据是无序的,这就规定了set集合的对象不允许重复,如果重复则系统无法准确识别这个元素
如果访问List里面的元素我们可以通过索引,因为list集合存放的数据有序,如同数组,如果要访问Map集合中的数据我们可以通过key来访问其value,但是如果我,们要访问Set集合中的数据就只能通过元素本身来访问了。
Collection介绍
Collection接口是List和Set的父接口,是一个高度抽象出来的集合,Collection中含有的各种方法都可以在List和Set中被调用。Cllection中包含的方法无非就是添加对象,删除对象,清空容器,判断容器是否为空等,因为集合就像容器盛装东西,就是往里面添加删除等。集合类就为这些功能提供了对应的方法。
List和Set
list和set都是collection的子接口,在collection中的方法list和set都可以使用,list是有序的,更加像是数组,每一个元素都有对应的索引,而set是无序的,因此要求数据不能重复。
我们学习Java集合最重要的还是学习他们的使用方法,那么下面我们就来看看List和Set的具体用法吧
在我看来无论是List还是Set都可以单独拿出来讲,因为他们每一个都包括很多内容,就比如List,我们在使用的时候不能直接创建List对象,要使用他的ArrayList等!
我们先看List的基本用法:
List
以前当我们想要存放多个数据的时候我们会选择使用数组,举个例子
String[] student = {"张三","李四","王二","麻子"};
如上我们创建了一个学生类的字符串数组,也就是这个student对象中存放着“张三,李四,王二,麻子”这几个数据。那如果我们要是使用List该如何完成上述功能呢?我们可以这样做。
新建List对象,这里我们使用ArrayList(后面会详细讲解)
List<String> list = new ArrayList<String>();
这里我们就新建了一个list集合,我们之前说过,集合就是用来盛装数据的,那么我们如何添加数据呢?这里我们使用到一个方法add。
list.add("张三");
list.add("李四");
list.add("王二");
list.add("麻子");
如此一来我们就实现了跟上述数组一样的功能了
Set
我们了解了list的用法,那么set呢?其实他们两个几乎一样
Set<String> set = new HashSet<String>();
是不是很相似呢?接下来我们来看看实际应用到编程的代码吧!
public static void main(String[] args) {
//创建list对象
List<String> list = new ArrayList<String>();
//添加数据
list.add("张三");
list.add("李四");
list.add("王二");
list.add("麻子");
//来一个华丽分割线
System.out.println("--------list--------");
//遍历集合元素
list.forEach((String name)-> System.out.println("name"+name));
//创建set对象
Set<String> set = new HashSet<String>();
//添加数据
set.add("张三");
set.add("李四");
set.add("王二");
set.add("麻子");
//再来一个华丽的分割线
System.out.println("--------set--------");
//遍历集合
set.forEach((String name)->System.out.println(name));
}
以下是运行结果
注:代码中的ArrayList和HashSet以及集合的遍历会另外详细讲解,此篇只做简单介绍,面相初学者我们由浅到深!