Java学习——集合框架

今天和大家来分享一下关于集合框架的一些小知识点~

 

首先,集合其实就可以看成是一种容器,和数组差不多,区别是集合里面可以装各种类型的元素,而数组当中只能装一种类型的元素。Java中集合类定义主要是java.util.*包下面,我们经常用到的集合在系统中定义了三大接口,分别是java.util.Set、java.util.List、java.util.Map。

 

下面来分别介绍下这三个接口:

Set是最简单的一种集合,它的对象是不按特定方式排序,只是简单的把对象加入集合中,不像数组中会给一个下标序号,且Set中不能有重复的对象。且因为Set中对象没有排序,所以不能通过for循环来遍历,只能用到迭代器Iterator,迭代器就像一个游标,通过迭代器里面的方法可以遍历Set里面的元素。Set的实现子类有HashSet、TreeSet。

package util;

import java.sql.Array;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test  {
     
	public static void main(String args[]){
                       java.util.Set<Object> set=new java.util.HashSet<Object>();
	     set.add(11);
	     set.add(22);
	     set.add(33);
	     set.add(44);
	     set.add(55);
	     set.add("aaa");
	     set.add("bbb");
	     set.add("ccc");
	     Iterator it=set.iterator();//迭代器的实例化代码需要放在 元素添加的后面
	     int size=set.size();
	     
	     System.out.println(size);
	     while(it.hasNext()){
	    	 System.out.println(it.next());
	     } 
                   }
                        }

用HashSet这个类去实现Set接口,然后通过add()方法直接往set里面添加元素。再通过Iterator迭代器来遍历,其中这里主要用到了hasNext()和next()这两个方法,hasNext()当迭代器里还有元素,它会返回一个ture。next()返回的是迭代的下一个元素。

PS:特别值得注意的是,实例化迭代器这一步骤必须得放在添加元素的后面,不然元素不会添加到迭代器里面。

 

List提供的是一个有序的集合,它的主要特征是其对象以线性方式存储,其中的元素可以是相同的。它可以通过for循环来遍历,也可以通过Iterator迭代器来遍历。List的实现类有ArrayList。

   List list=new ArrayList();
	     list.add(1);
	     list.add(2);
	     list.add(3);
	     list.add("aaa");
	     list.add(4);
	     list.add(5);
	     list.add("aaa");
	     list.add(6);
	     
//	     Iterator ist=list.iterator();
//	     while(ist.hasNext()){
//	    	 System.out.println(ist.next());
//	     }
	     
	     for(int i=0;i<list.size();i++){
	    	 System.out.println(" "+list);
	     }

 

Map接口相对于前面两个接口来说,稍微有点特殊,它提供了一个映射(对应)关系的集合数据结构。就像学生证号和学生,身份证号对个人等,这种一一对应的关系,就是映射。Map当中存放的是两种对象,一种称为key(键),一种称为value(值),它们在Map中是一一对应的关系。PS:Map中的键不能重复,但值可以重复。

java.util.Map <Object,Object> map=new java.util.HashMap <Object,Object>();
	     map.put("姓名", "王成威");
	     map.put("年龄", "18");
	     map.put("爱好", "女");
	     System.out.println(map);

 

好了,大概就是这些了,学到什么了再来补充。

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值