集合 List:

集合:


 *     Java是 面向对象的高级编程语言,语言中存在多种类型的对象,存放位置:数组 和 集合;
 *     数组特点:长度必须 预先设定,或者 定义是给数组赋值;
 *             数组的 数据类型 必须一致;


 *  集合:

存储多个类型的对象,不需要提前定义初始值 和 集合长度,会自动扩容;
 *      不同的集合类 提供 多种操作方法:添加 修改 移除  截取 遍历.....
 *      只能存放对象元素
 * 


 * Java中的集合 结构:


 *         JAVA中的接口 都是些了Collection接口,其他集合接口 继承它;
 * 
 *         结构关系:
 *             Collection《====List 《====Vector
 *             Collection《====List 《====ArrayList
 *             Collection《====List 《====LinkedList
 * 
 *             Collection《====set 《====HashSet
 *             Collection《====set 《====TreeSet
 * 
 *             Collection《====map 《====HashMap
 *             Collection《====map 《====TreeMap
 * 
 * List:
 *     ArrayList() 数组集合,已数组的方式存放对象,可以通过索引快速的查找对象,添加删除 元素 效率差
 *                 默认运行 添加 重复元素,对象 有序存放
 *                 默认长度为:10 ,使用完后长度增加 50%
 * 
 *  LinkedList()链表集合,查找元素 速度慢,  添加删除 元素 效率高

		//定义一个集合对象
		List arrLis = new ArrayList();
		
		/*Iterator listIter = arrLis.iterator();
		listIter.ha*/
		//存入元素
		arrLis.add("java基础");
		arrLis.add("前段框架");
		arrLis.add("");
		
		//添加对象
		Student st = new Student("件小白", "画画、购物..");
		arrLis.add(st);
		arrLis.add(st);
		
		//指定位置插入数据
		arrLis.add(2, "新添加的数据:Struts2 框架");
		
		//修改方法
		arrLis.set(3, "修改后的内容");
		
		// 长度属性 size:从1开始  下标从0 开始
		System.out.println("arrLis.size()==>"+arrLis.size());
		
		//获取指定位置元素
		Object objEnt = arrLis.get(4);
		System.out.println(objEnt.toString());
		//输出数组中的内容
		System.out.println(arrLis.toString());
		
		//查询某个元 是否存在 存在:返回下标, 否则 -1
		System.out.println(arrLis.indexOf(st));
		
		System.out.println(arrLis.lastIndexOf(st));
		
		//截取 部分内容,包含头 不 包尾;
		List sunArry = arrLis.subList(1, 3);
		System.out.println("sunArry==>"+sunArry.toString());

		//迭代器操作数据
		ListIterator iter = arrLis.listIterator();
		System.out.println("==========正向迭代 取值=============");
		//正向
		while(iter.hasNext()){
			Object objLis = iter.next();
			System.out.println(objLis);
		}
		System.out.println("==========反向迭代 取值=============");
		//反向
		while(iter.hasPrevious()){
			Object objLis = iter.previous();
			System.out.println(objLis);
		}
		System.out.println("==========定位 指定位置子 集合 取值=============");
		//定位 指定位置
		iter =  arrLis.listIterator(3);
		while(iter.hasNext()){
			Object obj = iter.next();
			System.out.println(obj);
		}
		System.out.println("==========定位 指定位置子 集合 反向取值=============");
		//反向
		ListIterator iter2 =  arrLis.listIterator(3);
		while(iter2.hasPrevious()){
			Object objL = iter2.previous();
			System.out.println(objL);
		}
		System.out.println("==========for (Object object : sunArry)集合=============");
		//遍历 整个集合
		for (Object object : arrLis) {
			System.out.println(object);
		}
		System.out.println("==========for in 遍历 集合 =============");
		for (int i = 0; i < arrLis.size(); i++) {
			System.out.println(arrLis.get(i));
		}
		System.out.println("==========清空 输出 集合内容=============");
		//清空
		arrLis.clear();
		System.out.println(arrLis.toString());
	}
	

LinkedList:

 

特有的方法:
     *     addFirst()  addLast();
     *     getFirst()  getLast();
     *   getFirst()  取出链表集合中的第一个元素,集合为空 则 抛出异常
     *   peekFirst(); 取出链表集合中的第一个元素 集合为空 则 输出 null
     *   poolFirst(); 取出元素 并且 异常集合中原来元素;
     *    
     * 插入元素:offerFirst();
     * 
     *  可以使用 以上的方法 模拟 堆栈,队列实现过程;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值