Java中的集合也是一样的意思,Java一声喊:“集合!!!"/>

《java从入门到放弃》javase入门篇:集合

     2022-03-23     327

关键词:

今天来讲讲Java中的集合和常见集合类型的使用。

什么是集合呢?

刚好最近学校里面军训,只听到教官一声喊:“集合!!!”各位小萌新们就屁颠屁颠的跑过来排列整齐了,这就是集合···技术分享


Java中的集合也是一样的意思,Java一声喊:“集合!!!”,那么我们就把需要放在一起的数据放到一个集合中。有的人会说“数组不就有这个功能么”。是的,数组是有这个功能,但集合与数组相比,功能会更多些,而且不同的集合侧重点不一样,具体有哪些优势,我们接下来讲解。

集合与数组最大的区别集合的长度是不固定的,可以任意添加或删除元素,而数组的长度是固定的,超过了放不进去数据,删除了数据但位置还在。


Java当中的集合提供了一系列的接口和类,都在java.util包中:

技术分享


一、Collection接口中的通用方法如下:

技术分享

    Collection接口下又分为List接口和Set接口,它们的区别如下:

    List接口:存储有序,可以保存重复元素

    Set接口: 存储无序,不能保存重复元素


List的用法:

    list最常用的子类——ArrayList。

public static void main(String[] args) {
	List list = new ArrayList();
	list.add("111");
	list.add("aaa");
	list.add("222");
	list.add("bbb");
	list.add("555");
	list.add("abc");
	
	for (int i = 0; i < list.size(); i++) {
		System.out.println(list.get(i));
	}
}

Set的用法:

    Set最常用的子类——HashSet。

public static void main(String[] args) {
	Set list = new HashSet();
	list.add("111");
	list.add("aaa");
	list.add("222");
	list.add("bbb");
	list.add("555");
	list.add("abc");
	
	for (Object object : list) {
		System.out.println(object);
	}
}

List因为是有序的,所以有对应的get方法根据下标读取数据,而Set是无序的,所以只能遍历来得到数据。下图左边为List的遍历结果,右边为Set的遍历结果。

技术分享    技术分享

至于删除数据和添加相同数据,各位看官就自己测试一下吧,没什么好讲的了。


二、Map接口中的通用方法如下:

技术分享

    Map下面最常用的子类有HashMap和Hashtable。

    Map集合是采用键值对的形式来保存数据的,所以很明显,它也没有顺序,这个东西和我们生活中使用的字典类似(根据拼音或部首去查对应的字)。

    HashMap和Hashtable的区别:HashMap允许出现空键或空值。而Hashtable则相反。

	public static void main(String[] args) {
		Map map = new HashMap();
		map.put("wang", "王九蛋");
		map.put("yang", "杨羊洋");
		map.put("li", null);
		map.put(null, "钱列先");
		
		for (Object key : map.keySet()) {
			System.out.println(key+":"+map.get(key));
		}
	}

运行结果:

技术分享


使用Hashtable效果:

技术分享


实现开发中,大部分场合我们都使用的泛型集合,它与普通集合相比,其优点是在保存数据之前就要指定数据的类型,否则就不允许你放进去!!!

技术分享


OK,今天的集合入门就讲到这儿,小伙们可以把上一篇布置的任务使用本篇的集合来实现看看(不再使用数组)。具体集合怎么用,等后面那个综合练习中再来仔细分析。



“软件思维”博客地址:51CTO博客园,感兴趣的小伙伴可以去看相关的其它博文。  

本文出自 “软件思维” 博客,请务必保留此出处http://softi.blog.51cto.com/13093971/1964337

《java从入门到放弃》javase篇:数组

数组,就是一组数!!!之前我们学习的变量只能保存一个数据,如果一个部门有50个员工的姓名要保存,怎么办?如果定义50个变量··················Stringname1;Stringname2;............Stringname49;Stringname50;,这画面太美,我不... 查看详情

《java从入门到放弃》javase入门篇:面向对象语法一(入门版)

前一次简单说明了一下面向对象编程的概念,今天我们就把这些概念通过Java语法来实现,然后看看效果。来看第一个案例:定义女神类,再根据女神类创建三个女神对象,并使用女神对象的属性和方法。第一步:定义女神类(... 查看详情

《java从入门到放弃》javase入门篇:网络编程(入门版)

要进行网络编程,首先要搞清楚目的是什么。网络编程说简单点就是在网络上的计算机进行数据的交互。650)this.width=650;"src="https://s4.51cto.com/wyfs02/M00/07/18/wKiom1nDU8jBR29DAADRe0E88II285.png"title="11.png"width="600"height="328"border="0"hspace="0 查看详情

《java从入门到放弃》javase入门篇:面向对象语法二(入门版)

想了半天,发现单独的封装和多态没什么好讲的,我们就简单说说Java里面对应的语法吧。相关内容如下:一、访问修饰符二、getter/setter方法三、构造方法四、super和this五、static关键字六、final关键字七、方法重写八、抽象类和... 查看详情

《java从入门到放弃》javase入门篇:练习——单身狗租赁系统

今天,我们要玩个大的!!!我们把之前使用数组做的这个单身狗系统改版成数据库版本,并且使用面向对象里面的一些简单思想。如果有不知道这个系统的看官,请跳转到目录页,然后再选择单身狗系统(数组版)先围观五分钟... 查看详情

《java从入门到放弃》javase篇:程序结构

程序的结构一般分为三种:顺序结构。选择结构。循环结构。一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。650)this.width=650;"src="https://s3.51cto.com/wyfs02/M01/A2/70/wKioL1mf0MqwRCa0AAA_SnPBxrY664.png"title="11.png"style... 查看详情

《java从入门到放弃》javase篇:程序结构

程序的结构一般分为三种:顺序结构。选择结构。循环结构。一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。650)this.width=650;"src="https://s3.51cto.com/wyfs02/M01/A2/70/wKioL1mf0MqwRCa0AAA_SnPBxrY664.png"title="11.png"style... 查看详情

《java从入门到放弃》javase篇:程序结构

程序的结构一般分为三种:顺序结构。选择结构。循环结构。 一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。 二、选择结构:从名字就能看出,要选择嘛,到底是要漂亮滴妹子,还是要有钱... 查看详情

《java从入门到放弃》javase篇:综合练习——单身狗租赁系统(数组版)

因为现在只学习了基本语法,所以在综合练习之前,先补充关于方法概念。方法的作用:把一系列的代码放在一起,然后再取个别名。之后通过这个别名的调用,就相当于执行了这一系列的代码。方法的语法:([]中的内容表示... 查看详情

《java从入门到放弃》文章目录

...,等相关内容都写完后,再按学习顺序来整理。《Java从入门到放弃》入门篇:XMLHttpRequest的基本用法《Java从入门到放弃》入门篇:Struts2的基本访问方《Java从入门到放弃》入门篇:Struts2的基本访 查看详情

《java从入门到放弃》入门篇:变量

变量是什么玩意呢?变量,顾名思义就是能变化的量--  好吧,举个栗子。图片上的各种餐具,就是变量,因为同一个盘子可以在不同的时间装不同的菜,在这一桌可以装土豆肉丝,在下一桌可以装清炒黄瓜(当然,这个盘... 查看详情

《java从入门到放弃》入门篇:hibernate查询——hql

不知不觉又到了hibernate的最后一篇了,只感觉时光飞逝~,岁月如梭~!转眼之间,我们就···························,好吧,想装个X,结果装不下去了,还是直接开始吧·650)this.width=650;"src="https://img.baidu.com/hi/jx2/j_00... 查看详情

《java从入门到放弃》入门篇:xmlhttprequest的基本用法

不闲扯,直接开讲。使用XMLHttpRequest对象,主要分为以下七个步骤:创建对象设置过期时间设置数据格式初始化HTTP请求设置HTTP头请求回传数据的处理发送HTTP请求对应代码如下所示<script type="text/javascript">   &nbs... 查看详情

java从入门到放弃——01.java环境搭建

本文目标:下载与安装JDK配置Java环境 1、JDK9下载:       下载地址:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html 2、安装JDK:      打开安装包,除了下图可以取消公共JRE¹... 查看详情

《java从入门到放弃》入门篇:运算符

运算符分为运算和符。运算:是一种行为,通过已知量的可能的组合,获得新的量。 符:上古时期,符是沟通人和神的秘密图案,所以符是不可以随便乱画的,故有所谓“画符不知窍,反惹鬼神笑;画符若知窍,惊得鬼神叫”... 查看详情

《java从入门到放弃》入门篇:运算符

运算符分为运算和符。运算:是一种行为,通过已知量的可能的组合,获得新的量。 符:上古时期,符是沟通人和神的秘密图案,所以符是不可以随便乱画的,故有所谓“画符不知窍,反惹鬼神笑;画符若知窍,惊得鬼神叫”... 查看详情

《java从入门到放弃》入门篇:hibernate基本配置

hibernate是个什么玩意呢?简单点说,就是别人写好的一套访问数据库的东东,底层其实就是JDBC。使用JDBC就像以前没有电饭煲,我们要自己根据经验,多少人煮多少米,放多少水,用多大的火,煮多长时间,整个过程都需要自己... 查看详情

java从入门到放弃·arraylist集合小练习

练习1(存储随机数字)题目:生成10个1~55之间的随机数,添加到集合中,并且遍历输出。先来解析一下这道题,给出思路1.需要存储10个整数,所以创建一个<Integer>的集合2.需要产生随机数,用到Random类3.产生10个随机数,使用... 查看详情