java集合框架

Java集合框架
Java中集合类的定义主要是java.util.*包下面,常用的集合在系统中定义了三大接口,这三类区别是:
Java.util.Set接口及其子类,提供的是一个无序的集合。Java.util.List 接口及其子类,提供的是一个有序的集合。
Java.util.Map接口及其子类,map提供的是一个无序的集合,其子类不一定。
示例:首先有一个student()类。
public class Student {
public Student(){}
public Student(String a, int t) {

this.a = a;
this.t = t;
}
public String a;
public int t;
public void showInfo() {

System.out.println(a+"\t\t编号"+t);
}

}

1•Set:
public class settest {

public static void main(String[] args){

settest set=new settest();
java.util.Collection<Student> jc=set.print(10);
System.out.println("集合中所有的元素为"+jc.size());
//将set中的元素取出并打印
//set是无序的因此使用迭代器
java.util.Iterator<Student> it=jc.iterator();
//遍历
while(it.hasNext()){

Student stu1=it.next();
stu1.showInfo();
}
}


public java.util.Collection<Student> print(int count){
//创建一个集合对象
java.util.Set<Student> st=new java.util.HashSet<Student>();
for(int i=0;i<count;i++){

Student stu=new Student("学生"+((char)(i+65)),i+1);
st.add(stu);
}
return st;
}
}

Set的特点是无序的,因此查询输出时,必须用到迭代器。同时set只能存储不同信息。
2•List:
import java.util.ArrayList;

public class listtest {


public static void main(String[] args){

listtest lt=new listtest();
lt.print();
}
public void print(){
listtest lt=new listtest();
java.util.List<Student> list=lt.getuser(10);
for(int i=0;i<list.size();i++){

Student stu= list.get(i);
stu.showInfo();
}
}

public java.util.List<Student> getuser(int count){

java.util.List<Student> li=new ArrayList<Student>();
for(int i=0;i<count;i++){

Student stu=new Student("学生"+((char)(65+i)),i+1);
li.add(stu);
}
return li;
}


}
List是有序的,因此查询时用循环遍历即可。
3•map
public class Maptest {

public static void main(String[] args){

Maptest map=new Maptest();
java.util.Map<String, Student> mp1=map.getusers(10);
map.print(mp1);
String key="编号"+3;
Student stu=mp1.get(key);
stu.showInfo();

}
public java.util.Map<String , Student > getusers(int count){

java.util.Map<String, Student> mp=new java.util.HashMap<String, Student>();
for(int i=0;i<count;i++){

Student stu=new Student("学生"+((char)(i+65)),i+1);
mp.put("编号"+(i+1), stu);
}
return mp;

}


public void print(java.util.Map<String, Student> mp){

java.util.Set<String> st=mp.keySet();
java.util.Iterator<String> it=st.iterator();
while(it.hasNext()){

String key=it.next();
Student stu=mp.get(key);
stu.showInfo();
}

}
}


Map是用键值对来存储和查找的。Map存储的键值不能相同。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值