前提:基本数据类型定义多个变量显得冗余复杂->数组的出现解决了这个问题,但是只能存取相同类型的数据->所以出现了集合类,可以存放不同类型的数据!
(1)什么是集合类:
集合类主要负责保存、盛装其他数据,因此又将集合类称为容器类,本质上是一种数据结构!Java集合类通常分为Set、List、Map和Queue4大体系。其中,Set代表无序的、不允许有重复元素的集合,List代表有序的、允许有重复元素的集合,Map代表具有映射关系的集合,Queue代表队列集合。Java集合类主要由2个接口派生过来:Collection接口和Map接口!
(2)与数组的区别:
数组中元素是同一数据类型,而且数组长度是固定不变的;而集合类的长度是可变的,并且可以存储多种类型的数据。
(3)Collection接口的常用方法:
* public boolean add(Object obj):加入指定元素obj到集合类对象中
* public int size():返回集合类对象中包含的元素的个数
* public boolean isEmpty():判断是否为空,是返回true,否返回false
(4)Set接口和HashSet实现类:
例如:
HashSet<Object> hash = new HashSet<Object>();
hash.add(1);
hash.add("hello");
System.out.print("此哈希集中的元素分别为:"+hash);
System.out.print("此哈希集中的元素个数为:"+hash.size());
(5)List接口和ArrayList实现类:
例如:
ArrayList<String> list = new ArrayList<Stirng>();
list.add("hello");
list.add("world");
System.out.print("此列表中的元素分别为:"+list);
System.out.print("此列表中的元素个数为:"+list.size());
(6)Map接口和HashMap实现类
* ·主要存储“键-值”对,不允许键重复,但允许值重复。
* ·基本方法:
public void put(Object key,Object value):向列表中添加一对“键-值”。
public Object get(Object key):返回键值key对应的元素。
* ·例如:
HashMap<String, String> map = new HashMap<String, String>();
map.put("username", "张三");
map.put("password", "123456");
System.out.print("学生姓名为:"+map.get("username")+"\n"+"学生密码为:"+map.get("password"));
(7)Iterator和Enumeration
前提:访问数组中的元素,可以使用下角表的方式进行访问,但是如何访问集合类中的元素呢?所以就出现了一种方法访问一个容器(集合类)对象中各个元素,而又不暴露对象的内部细节,这就是迭代器。所有的集合类元素都可以使用Iterator来获取元素。
* ·常用方法:
public boolean hasNext():判断是否还有下一个元素。
public Object next():返回当前列表的下一个元素。
热门工具 换一换