java list map set_Java集合——List 、Map、Set

1.1 Java集合的概述

Java的集合类是一种特别有用的工具类,就像一种容器,可以用来存储数量不等(可改变)的多个对象,并可以实现常用数据结构,如栈、队列等。Java的集合大致分为:Set、List和Map三种体系,jdk1.5后增加了Queue体系集合代表一种队列。

—— Set代表无序、不可重复的集合;类似一个罐子,里面是无序,注意的是不能有重复。

—— List代表有序、重复的集合;非常像一个数据,每个元素有自己的顺序,只是List长度可变

—— Map代表具有映射关系的集合;也类似一个罐子,但里面每个数据都由两部分组成。

jdk1.5之前,Java集合会丢失所有对象的数据类型,把所有对象都当成Object类型处理,jdk1.5后增加了泛型,可以记住容器中对象的数据类型

数组与Java集合的比较:在编程中,常常需要集中存放多个数据。

数组--我们可以用数组来存放,但数组长度一旦确定就不能变化,如果需要保存个数变化的数据,

数组无法做到;再有数组也无法保存具有映射关系的数据,如成绩表:高数-99,英语-100

Java集合--所以,为了保存数量不确定的数据,以及保存具有映射关系的数据,可以使用Java提供的

集合类来解决。

集合类和数组还不一样的是:数组保存的数据可以是基本类型的值,也可以是对象;而集合里只能保存对象。

Java的集合类主要由两个根接口派生:Collection和Map(用于保存有映射关系数据),这两个接口底下包含了一些子接口或实现类,接口是不能直接new自己来实例化的,所以使用集合类需要通过new对应的实现类来实例化。

0cf6ca57a201b75f4fe11bf2dec79a31.png

e2b9f4fef9d5f4bf5860d82c52032cbe.png

spacer.gif

1.2、基本使用

List接口的应用:(Set接口应用类似List接口)

实例化方式:如果用的是接口,必须是用实现类来实例化:Collection c = new ArrayList( );    List list = new ArrayList( );

add( )方法:每次添加一个数据元素,list.add("123");

remove( )方法:删除指定元素,list.remove("123");

size( )方法:取得集合里元素的个数,list.size( );

clear( )方法:删除所有元素,list.clear();

使用Iterator接口遍历集合元素(也可用foreach循环遍历,更便捷)

Iterator接口主要用于遍历Collection集合中的元素,也别称为迭代器。

-hasNext():如果被迭代的集合元素还没被遍历,则返回true

-next():返回集合里下一个元素

-remove():删除集合里上一次next方法返回的元素

例子:

//创建一个集合

Collection books = new ArrayList();//表示集合存放的是String类型数据

books.add("1");

books.add("2");

books.add("3");

//获取books集合的迭代器Iterator

Iterator it = books.iterator();

while(it.hasNext()){

//注意next方法返回的是Object类型,所以必须强制转型

String book = (String)it.next();

System.out.println(book);

}

//使用foreach循环遍历

for(String s : books){

System.out.println(s);

}

如果是使用List的话,List里的元素是有序的,所以List提供了get( )方法:可以直接通过索引遍历取得:

for(int i = 0; i

System.out.println(list.get(i));

}

Map接口的应用:

//通过HashMap实例化(HashTable是线程安全),表示key是整型value是字符串类型

HashMap hm = new HashMap();

//添加键值对key-value

hm.put(1,"A");

hm.put(2,"B");

//根据key取值

System.out.println(hm.get(1));

//根据key删除

hm.remove(1);

/*

for(Object key : hm.keySet()){

System.out.println(hm.get(key));

}

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值