集合类

张大胖!啥是集合啊?
我先问你,数组是有固定长度的对不对?比如说100长度的数组,那么我后期想要插入120个数据呢,那是不是无法应对我的需求了呢?所以说需要一个灵活的容器,集合呢,就是相当于一个动态的数组,也就是java的集合类!

先看一下集合类的Collection接口,这个接口提供了很多的方法,添加,删除,判断是否为空等,还有重要的遍历功能的迭代器

Collection接口之list接口

废话不多说,直接上代码样例不就完了!好,整!

list接口其实是有俩个子类,ArrayList和LinkedList,区别在哪呢?区别在于Arraylist的运行方式更适合于数据的查找,LinkedList便于数据的更新和删除操作。其实语法都是一模一样的,大家在写代码的时候可以根据需要来选择使用那个list

public class Dome {

	public static void main(String[] args) {
		
		List list =new ArrayList();
		
		
		list.add("可以说被安排的明明白白1");
		list.add("可以说被安排的明明白白2");
		list.add("可以说被安排的明明白白3");
		list.add("可以说被安排的明明白白3");
		list.remove(1);   //删除索引为1的数据,也就是可以说被安排的明明白白2这句话被删除了
	
		
		list.add(1,"安排的 明白了?");//又重新想索引1的位置添加一句话
		list.set(1,"安排的 明白了?set");//又将索引为1的值改了一下
		
		
		list.add("重复重复");
		list.add("重复重复");
		list.add("重复重复");//还可以添加重复的值
		list.add(null);//还可以插入空值
		for(int i=0;i<list.size();i++) {
			System.out.println(list.get(i));
			
		}	
		System.out.println(list.size()); //输入有集合的大小,也就是可以理解为有多少个索引
		
最后运行结果
可以说被安排的明明白白1
安排的 明白了?set
可以说被安排的明明白白3
可以说被安排的明明白白3
重复重复
重复重复
重复重复
null
8

Iterator 迭代器

Iterator 迭代器呢,其实就是方便于遍历集合当中的元素来使用的一个抽象接口,可以使用语法
Iterator i = list.terator(); 来返回一个迭代器对象~

然后在使用
hasNext():如果有可迭代的元素,就返回true,没有就false
next():返回迭代的下一个元素。

看一段小代码:

public class Dome {

	public static void main(String[] args) {

		List list = new ArrayList();

		list.add("可以说被安排的明明白白1");
		list.add("可以说被安排的明明白白2");
		list.add("可以说被安排的明明白白3");
		list.add("可以说被安排的明明白白3");

		Iterator it = list.iterator();
		while (it.hasNext()) {
			Object obj = it.next();
			System.out.println(obj);
		}
	}
}
\\运行结果:
可以说被安排的明明白白1
可以说被安排的明明白白2
可以说被安排的明明白白3
可以说被安排的明明白白3

Set接口

TreeSet
看一下这个转载的文章吧,我觉得比我写的好多了,哈哈
https://blog.csdn.net/jinhuoxingkong/article/details/51191106

HashSet
转载地址:
https://jingyan.baidu.com/article/48206aead61355216bd6b34a.html

MAP

先连接下什么叫 键值映射
相声这个key对应 老郭这个value ,等等一一对应,可以理解为,相声就是个键也就是key,郭德纲就是value
相声 ~ 郭德纲
唱歌 ~ 陈奕迅
小品 ~ 宋小宝

public class Dome {

	public static void main(String[] args) {

		Map map = new HashMap();// HashMap散列,还有一种是TreeMap(有序的集合排放),一般最常用的是第一种
		map.put("24", "张大胖"); // put方法是通过键值保存到集合中
		map.put("唱歌", "张大胖");
		map.put("吃饭", "洗澡");
		map.put(1, "哈哈哈");
		map.put(null, null);

		Set set = map.keySet();
		Iterator in = set.iterator();

		while (in.hasNext()) {
			Object ojb = in.next();
			System.out.println(map.get(ojb));
		}
	}
}

运行结果:
洗澡
null
张大胖
哈哈哈
张大胖

如果是用TreeMap的话,就会有序的显示出来了~

说一说集合使用的场景特点吧~

1.list关心的是索引,每一个元素有一个编号。
2.set关心的是唯一性,不让重复。
3.Map关心的是唯一的key

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值