一、Collections的常用方法介绍
1.承接上次连载,先介绍几个简单的常用方法
package com.bjpowernode.java_learning;
import java.util.*;
public class D84_1_CommonMethodOfCollection {
public static void main(String[] args) {
//1.创建集合
Collection c = new ArrayList();//多态
//2.添加元素
c.add(1);//JDK5.0之后自动装箱
c.add(new Integer(100));
Object o = new Object();
c.add(o);//Collection集合只能单个存储元素,并且只能存储引用类型
Customer84 cus = new Customer84("xiaoming",47);
c.add(cus);
//3.获取元素的个数
System.out.println(c.size());
System.out.println("======================");
//4.将集合转换为Object类型的数组
Object[] objs = c.toArray();
for(int i =0;i<objs.length;i++) {//数组中length是属性,列表中是方法
System.out.println(objs[i]);
}
//5.清空
c.clear();
System.out.println("======================");
System.out.println(c.size());
}
}
class Customer84{
String name ;
int age ;
Customer84(String name,int age){
this.name = name;
this.age = age;
}
public String toString() {
return "Customer[name="+name+",age="+age+"]";
}
}
二、迭代器
1.Iterator iterator();获取集合所依赖的迭代器对象,通过迭代器中的方法完成集合中的迭代(遍历)
2.注意:这种方式是所有集合调用的遍历方式
package com.bjpowernode.java_learning;
import java.util.*;
public class D84_2_Iterator {
public static void main(String[] args) {
//创建集合对象
Collection c = new LinkedList();
//添加元素
c.add(100);
c.add(3.14);//自动装箱
c.add(false);
//迭代,遍历
//1.获取迭代器对象
//不需要关心底层集合的具体类型,所欲集合以来的迭代器都是了java.util.Iterator;接口
//java.util.LinkedList$ListItr类是LinkedList集合所依赖的迭代器
//java.util.AbstractLisr$Itr类是ArrayList集合所依赖的迭代器
Iterator it = c.iterator();
//迭代器是面向接口编程,it是引用,保存了内存地址,指向堆中的“迭代器对象”
System.out.println(it);//java.util.LinkedList$ListItr@30c7dale 说明这是一个内部类
//如果c是一个ArrayList,那么这里打印的是java.util.AbstractList$Itr@de6cd
//2.开始调用方法,完成遍历,迭代
while(it.hasNext()) {
Object element = it.next();
System.out.println(element);
}
/**
* boolean b = it.hasNext();判断是否有更多的元素,如果有,就返回true
* Object o = it.next();将迭代器向下移动一位,并且取出指向的元素
* 原则:嗲用it.next()方法之前必须调用it.hasNext();
*
*/
//for循环
for(Iterator its = c.iterator();its.hasNext();) {
Object o = its.next();
System.out.println(o);
}
}
}
三、源码:
D84_1_CommonMethodOfCollection.java
D84_2_Iterator.java
https://github.com/ruigege66/Java/blob/master/D84_1_CommonMethodOfCollection.java
https://github.com/ruigege66/Java/blob/master/D84_2_Iterator.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料