package test09;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo18_集合框架02 {
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args) {
// TODO Auto-generated method stub
/*集合(数据结构不同)的取出方式
*取元素
*无论是什么数据结构,最终共性的取出方式 一个一个取 取之前先判断
*有就取一个,没有就结束 这种方式称之为:迭代
*迭代器: iterator
*iterator(); : 获取到具体容器的迭代器对象
*
*细节:
*集合存储的其实是对象的地址
*集合不可以存储基础数值 但是可以这么写,但是存储的还是对象(自动装箱)
*存储时提升了Object,在取出时使用元素的特有内容,必须要向下转型
*
*collection :
*List: 有序的列表(元素允许重复) 此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
*Set
*
*List接口
*其特有的方法全都是围绕着索引定义的
*
*
*list获取元素的方式有两种
*迭代 遍历+get方法
*
*list 接口是支持对元素的增a删d改s查的
*/
// 创建集合对象
Collection coll = new ArrayList();
coll.add("das1");//存储的是对象的引用(地址),不能存储基本数值
coll.add("das2");
// coll.add(3);//coll.add(Integer.ValueOf(3)); 自动装箱(基本数值包装成对象)
coll.add("das3");
coll.add("das4");
// 获取容器的迭代器对象,通过iterator方法
// Iterator it = coll.iterator();
// 使用具体的迭代器方法获取集合中的元素,参阅迭代器的方法
/*while(it.hasNext()){
System.out.println(it.next());
}*/
for (Iterator it = coll.iterator(); it.hasNext();) {
System.out.println(it.next());
}
/*System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());*/
// System.out.println(it.next());//java.util.NoSuchElementException没有这个元素异常 不存在第五个元素
System.out.println("-------获取内部元素长度-------");
coll.add("sdasdsad");//Object obj = "sdasdsad";提升为了Object
coll.add("hehe");
coll.add("sdk");
for (Iterator it = coll.iterator(); it.hasNext();) {
Object object = it.next();//取出来的都是object,需要用元素的特有方法时需要向下转型
String str = (String)object;
System.out.println(str.length());
}
}
}
Demo18_集合框架02
猜你喜欢
转载自blog.csdn.net/mingxu_W/article/details/82016350
今日推荐
周排行