Java集合类的使用

来源:互联网 发布:minecraftpe凡家物语js 编辑:程序博客网 时间:2024/06/04 20:11

在java.util包中提供了一些集合类,主要有List、Set、Map,其中List和Set继承了Collection接口。这些集合类也称为容器,它们与数组有些类似,但是数组的长度是固定的,集合的长度是可变的,数组用来存放基本类型的数据,集合用来存放对象的引用。

我们主要讲List接口,Set接口和Map接口。

List接口继承Collection接口,List接口允许存放重复的对象,排序方式也是对象插入时的顺序。

Set接口继承Collection接口,Set接口不允许存放重复的对象,排序方式按照自身内部的排序规则。

Map接口是以key-value的方式存放对象,其中key不可重复,value可以重复,排序方式按照自身内部的排序规则。

一、List的主要用法

1、ArrayList的用法

向集合中加入元素

import java.util.ArrayList;public class CollectionDemo {public static void main(String[] args) {//创建一个ArrayListArrayList<String> list = new ArrayList<String>();//将对应的字符串加入listlist.add("老大");list.add("老二");list.add("老三");list.add("老四");for(String str:list){System.out.println("这是第"+list.indexOf(str)+"个:"+str);}}}
打印结果如下:


结论:add()方法将元素放入list中,打印的顺序也是元素加入的顺序,该集合类与数组一样,是从0开始计数的。



import java.util.ArrayList;public class CollectionDemo {public static void main(String[] args) {//创建ArrayListArrayList<String> list = new ArrayList<String>();ArrayList<String> allList = new ArrayList<String>();//将对应的字符串加入listlist.add("老大");list.add("老二");list.add("老三");list.add("老四");allList.add("老爸");//addAll()方法,将list中的所有元素加入allList中allList.addAll(list);for(String str:allList){System.out.println(str);}}}
打印结果:
结论:list中有老大,老二,老三,老四,一共四个元素,allList使用addAll()方法,直接将list中的元素加入到allList中。


从集合中删除元素

import java.util.ArrayList;public class CollectionDemo {public static void main(String[] args) {//创建ArrayListArrayList<String> list = new ArrayList<String>();//将对应的字符串加入listlist.add("老大");list.add("老二");list.add("老三");list.add("老四");list.remove(0);for(String str:list){System.out.println(str);}}}
打印结果如下:

结论:remove(int)方法将指定位置的元素删除。


import java.util.ArrayList;public class CollectionDemo {public static void main(String[] args) {//创建ArrayListArrayList<String> list = new ArrayList<String>();ArrayList<String> allList = new ArrayList<String>();//将对应的字符串加入listallList.add("老三");allList.add("老四");allList.add("老五");allList.add("老六");list.add("老大");list.add("老二");list.add("老三");list.add("老四");allList.removeAll(list);for(String str:allList){System.out.println(str);}}}

打印结果如图所示:

结论:removeAll()方法会从指定的集合中一处包含在另一个集合中的元素,返回值为boolean类型,如果有移除的对象则返回true,否则返回false。



import java.util.ArrayList;public class CollectionDemo {public static void main(String[] args) {//创建ArrayListArrayList<String> list = new ArrayList<String>();//将对应的字符串加入listlist.add("老大");list.add("老二");list.add("老三");list.add("老四");//list.toArray()方法返回值类型为Object[]Object[] strs = list.toArray();for(Object str:strs){System.out.println(str);}}}
结果如图:


结论:toArray()方法返回值类型为Object[]


2、HashSet的用法
Set的方法使用与List类似,但是Set排序是按照自身内部排序规则排序的,我们来看一下

import java.util.HashSet;public class CollectionDemo {public static void main(String[] args) {//创建ArrayListHashSet<String> set = new HashSet<String>();//将对应的字符串加入listset.add("老大");set.add("老二");set.add("老三");set.add("老四");//list.toArray()方法返回值类型为Object[]for(Object str:set){System.out.println(str);}}}
这里我们使用了和List一样的顺序加入元素,但是打印结果如下:

这里我们可以看出,打印结果的顺序与我们加入元素的顺序是不同的,这是由于Set使用了自身内部的排序规则。


Map集合

HashMap的用法

Map接口中提供了集合常用的方法,如isEmpty()、size()等,该集合使用put()方法添加元素。

首先我们看一下Map是如何加入和取出值得

import java.util.HashMap;public class MapDemo {public static void main(String[] args) {//创建HashMapHashMap<String,String> map = new HashMap<String,String>();//将对应的字符串加入mapmap.put("1","老大");map.put("2","老大");map.put("3","老大");map.put("4","老大");//取出对应的值System.out.println(map.get("1"));}}
打印结果为老大,说明map取值是对应key值去取的。






1 0
原创粉丝点击