java之集合之路

1、集合 Connection 接口:List  接口序列   Queue接口队列 Set接口集   List实现类ArrayList  LinkedList     Queue实现类LinkedList     Set 实现类是HashSet ; 另外List 可以精确控制插入某个元素或者删除某个元素; Connection定义了可用于操作List Queue Set 接口的增删改查的方法 ;List 有插入元素的方法add() 和获取元素的方法 get();


2  Map 接口常用实现类 HashMap   以键值对存储;


3 List 和 Queue序列是有序可以重复的Set 集合无序不可以重复    与数组的区别是数组的大小是固定的而集合的容量是可以扩展的,数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型来访问对应映射的元素;


常用的增删改查的例子是学生选课:


首先创建一个Student类 id name私有 属性,类型String   另外一个存储课程的集Set courses 这里由于Set集是不可以重复的 而List 是重复的 ,所以采用了Set集来存储不重复的课程;然后封装 id  name ,创建构造方法 public Student (id ,name)this.id=id ,this.name=name,this.courses=new HashSet();

,构造方法的创建是为了不用对类的属性一个一个赋值,而在构造函数的重载给属性的值  

创建Course类 使用属性 Sting id  name  ,封装  ,两个参数的构造函数和不带参数的构造函数;




创建一个备选课程类 ListTest 存放课程的List  courseToSelect 对象无参构造方法this.courseToSelet =new ArrayList();

首先增加课程   ,Coursel c1=new Course(“1”,“java”)可以new 多个 然后courseToSelect.add(c1)方法 或者courseToSelect.add(0,c1);

也可以Course[]  courses={new Course("2","C"),new Course("3","PHP")} ,courseToSelect.addAll(Arrays.asList(courses));

取课程,要有类型转换,对象存入序列的时候类型变为Object ,Course temp =(Course)courseToSelect.get(0)   可以打印验证;


访问集合中的元素,1 for 方法  2  foreach 方法  3  集合迭代器方法   

A   for(int i=0;i<courseToSelect.size();i++)Course temp =(Course)courseToSelect.get(i)   打印temp.id  temp.name

B  

for(Object obj:courseToSelect)  Course temp=(Course)obj; 打印temp.id  temp.name


C   集合的iterator()方法获取iterator实例,   Iterator<Course>   it=courseToSelect.iterator(); 

while(it.hasNext()){

Course cr=it.next();

打印cr.id cr.name

}



修改List中的元素  courseToSelect.set(2,new Course("7","jsp"));



删除元素  Course[] cour ={ (Course)courseToSelect.get(2),(Course)courseToSelect.get(3)}    courseToSelect.removeAll(Arrays.asList(cour));





附代码


说明  iterator 是个接口,依赖集合获取实例,通过it.hasNext() 和it.next()来判断是否有值和取值,foreach 是个循环语句,可以看做是for和iterator的结合;









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lozhyf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值