Java集合类的使用

在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) {
		//创建一个ArrayList
		ArrayList<String> list = new ArrayList<String>();
		//将对应的字符串加入list
		list.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) {
		//创建ArrayList
		ArrayList<String> list = new ArrayList<String>();
		ArrayList<String> allList = new ArrayList<String>();
		//将对应的字符串加入list
		list.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) {
		//创建ArrayList
		ArrayList<String> list = new ArrayList<String>();
		//将对应的字符串加入list
		list.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) {
		//创建ArrayList
		ArrayList<String> list = new ArrayList<String>();
		ArrayList<String> allList = new ArrayList<String>();
		//将对应的字符串加入list
		allList.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) {
		//创建ArrayList
		ArrayList<String> list = new ArrayList<String>();
		//将对应的字符串加入list
		list.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) {
		//创建ArrayList
		HashSet<String> set = new HashSet<String>();
		//将对应的字符串加入list
		set.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) {
		//创建HashMap
		HashMap<String,String> map = new HashMap<String,String>();
		//将对应的字符串加入map
		map.put("1","老大");
		map.put("2","老大");
		map.put("3","老大");
		map.put("4","老大");
		//取出对应的值
		System.out.println(map.get("1"));
	}
}
打印结果为老大,说明map取值是对应key值去取的。






  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值