zoukankan      html  css  js  c++  java
  • List接口

    List是Collection的子接口,其中可以保存各个重复的内容

    List接口的常用子类

    1.ArrayList

    <1>实例操作一:向集合中增加元素

    <2>实例操作二:删除元素

    <3>实例操作三:输出List中的内容

    <4>实例操作四:将集合变为对象数组

    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.List;
    
    //=================================================
    // File Name       :	List_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	List_demo;
    public class List_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		
    		List<String> allList = null;			//定义List对象
    		Collection<String> allCollection = null;		//定义Collection对象
    		allList = new ArrayList<String>();						//实例化List对象,只能是String类型
    		allCollection = new ArrayList<String>();			//实例化Collection,只能是String类型
    		
    		allList.add("Hello");				//是从Collection继承的方法
    		allList.add(0,"Word");			//此方法为List扩充的方法
    		System.out.println(allList); 	//输出集合中的内容
    		
    		allCollection.add("zhangsan");				//增加数据
    		allCollection.add("www.baidu.com");			//增加数据
    		
    		allList.addAll(allCollection);				//是从Collection继承的方法,增加一组对象
    		allList.addAll(0,allCollection);				//是从Collection继承的方法,增加一组对象
    		System.out.println(allList); 	//输出集合中的内容
    		
    		allList.remove(0);		//删除指定位置的元素
    		allList.remove("Hello");		//删除指定内容的元素
    		System.out.println(allList); 	//输出集合中的内容
    		
    		System.out.println("从前向后输出:");
    		for(int i=0;i<allList.size();i++){
    			System.out.println(allList.get(i)+"、");
    		}
    		
    		System.out.println("从后向前输出:");
    		for(int i=allList.size()-1;i>=0;i--){
    			System.out.println(allList.get(i)+"、");
    		}
    		
    		String str[]  =allList.toArray(new String[] {});		//指定的泛型类型
    		System.out.println("转换为数组类型");
    		for(int i =0;i<str.length;i++){
    			System.out.println(str[i]+"、");
    		}
    		
    		System.out.println("返回对象数组");
    		Object obj[] = allList.toArray();
    		for(int i =0;i<obj.length;i++){
    			String temp = (String) obj[i];
    			System.out.println(temp+"、");
    		}
    		
    		System.out.println(allList.contains("zhangsan")?"字符串存在":"字符串不存在");
    		List<String> allSub = allList.subList(0, 2);		//取出里面的部分集合,前两个
    		System.out.println(allSub); 	//输出集合中的内容
    		System.out.println("字符串的位置"+allList.indexOf("zhangsan"));	//查询字符串的位置
    		System.out.println("集合操作后是否为空?"+allList.isEmpty());
    	}
    
    }
    

    2.LinkedList子类与Queue接口

    LinkedList表示的是一个链表的操作类,即Java中已经为开发者提供好了一个链表程序,开发者直接使用即可,无需再重新开发。

    <1>实例操作一:在链表的开头和结尾增加数据

    <2>实例操作二:找到链表头

    <3>实例操作三:以先进先出的方式取出全部的数据

    import java.util.LinkedList;
    
    //=================================================
    // File Name       :	LinkedList_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	LinkedList_demo;
    public class LinkedList_demo {
    
    	public static void main(String[] args) {
    			// TODO 自动生成的方法存根
    			LinkedList<String> link = new LinkedList<String>();
    			link.add("A");
    			link.add("B");
    			link.add("C");
    			System.out.println("初始化链表:"+link);  //输出链表内容,调用toString
    			
    			link.addFirst("X");
    			link.addLast("Y");
    			System.out.println("添加头尾之后的链表:"+link);  //输出链表内容,调用toString
    			
    			System.out.println("使用element()方法找到表头:"+link.element());
    			System.out.println("找到之后的link内容"+link);
    			
    			System.out.println("使用peek()方法找到表头:"+link.peek());
    			System.out.println("找到之后的link内容"+link);
    			
    			System.out.println("使用poll()方法找到表头:"+link.poll());
    			System.out.println("找到之后的link内容"+link);
    			
    			System.out.println("以先进先出的方式输出:");
    			for(int i=0;i<link.size()+1;i++){
    				System.out.println(link.poll()+"、");
    			}
    	}
    	
    
    }
    
  • 相关阅读:
    .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量
    ASP.NET Core技术研究-全面认识Web服务器Kestrel
    .NET Core技术研究-主机Host
    ASP.NET Core技术研究-探秘依赖注入框架
    ASP.NET Core技术研究-探秘Host主机启动过程
    .NET Core技术研究-中间件的由来和使用
    深入浅出腾讯BERT推理模型--TurboTransformers
    深入浅出PyTorch(算子篇)
    深入浅出Transformer
    生产者消费者问题总结
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/5284283.html
Copyright © 2011-2022 走看看