集合总结

Collection 集合类、在java.util包下,、常用的有三大接口,其分别是:
java.util.Set,set提供一个无序的集合;
java.util.List,List提供一个有序的集合;
java.util.Map,Map提供一个映射关系的数据结构;

1、Set为接口定义,常用实现类有HashSet
Set中的元素是无序的、不能重复。
遍历Set中的元素时,因为无序而不能用for循环遍历。用Set的迭代器和while循环进行遍历。
代码测试:
public class SetTest {

public static void main(String []args){
Set set=new HashSet();
for(int i=0;i<10;i++){
Student stu=new Student("用户_"+((char)(65+i)),i+1,20+i);
set.add(stu);
}
System.out.println("集合中共用元素:"+set.size());
//打印set中的元素
Iterator<Student> it=set.iterator();
//while循环遍历
while(it.hasNext()){
Student st=it.next();
st.showInfo();
}
}
}
测试结果:
集合中共用元素:10
姓名:用户_G学分:7
姓名:用户_A学分:1
姓名:用户_E学分:5
姓名:用户_J学分:10
姓名:用户_B学分:2
姓名:用户_F学分:6
姓名:用户_D学分:4
姓名:用户_I学分:9
姓名:用户_H学分:8
姓名:用户_C学分:3

2、List 有多个可实现的子类,常用的有ArrayList
List中的元素时有序的,允许有相同的。可以使用索引来访问List中的元素(类似数组) 。

测试代码:
public class ListSet {
public static void main(String []args){
List<Student> list=new ArrayList();
for(int i=0;i<8;i++){
Student stu = new Student("用户_"+((char)(65+i)),i+1,20+i);
list.add(stu);
}
System.out.println("List中共有元素:"+list.size());
//取出指定位置的元素
Student st=list.get(6);
st.showInfo();
//输出所有元素
for(int i=0;i<list.size();i++){
Student stud=list.get(i);
stud.showInfo();
}
}
}
测试结果:
List中共有元素:8
姓名:用户_G学分:7
姓名:用户_A学分:1
姓名:用户_B学分:2
姓名:用户_C学分:3
姓名:用户_D学分:4
姓名:用户_E学分:5
姓名:用户_F学分:6
姓名:用户_G学分:7
姓名:用户_H学分:8

3、Map是用来存放存在映射关系的对象
Map中的元素虽然无序,但可以通过key来读取。key值不能相同,但value可以相同。

测试代码:
public class MapTest {
public static void main(String []args){
Map<Integer,Student> map=new HashMap<Integer,Student>();

for(int i=0;i<5;i++){
Student stu=new Student("name"+i,i+1,19+i);
map.put(i, stu);
}
//打印元素
Set<Integer> set = map.keySet();
Iterator<Integer> it = set.iterator();
while(it.hasNext()){
Integer key = it.next();
Student st = map.get(key);
st.showInfo();
}
}
}

测试结果:
姓名:name0学分:1
姓名:name1学分:2
姓名:name2学分:3
姓名:name3学分:4
姓名:name4学分:5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值