• java基础(8)-集合类


    增强for循环

    /*
     *增强for循环
     *	for(元素类型 变量:数据或Collection集合){
     *		使用变量即可,该变量就是元素	
     *	}
     *	优点:简化了数组和集合的遍历
     *	缺点:增强for的目标不能为null
     *	解决方法:对for的目标先进行不是null的判断,然后再使用
     */
    import java.util.ArrayList;
    import java.util.List;
    public class ForDemo{
    	public static void main(String[] args){
    		int[] arr = {1,2,3,4,5};
    		for(int i=0;i<arr.length;i++){
    			System.out.println(arr[i]);
    		}
    
    		//增强for循环
    		for(int x:arr){
    			System.out.println(x);
    		}
    
    		//定义字符串数组
    		String[] strArray = {"wu","jia","dong"};	
    		for(String s:strArray){
    			System.out.println(s);
    		}
    		
    		//定义一个集合
    		ArrayList<String> array = new ArrayList<String>();
    		array.add("hadoop");
    		array.add("spark");	
    		array.add("storm");
    		for(String s : array){
    			System.out.println(s);
    		}
    
    		List<String> list = null;
    		//lang.NullPointerException
    		//s是从list里获取的,获取前需判断
    		//其实就是迭代器的功能
    		if(list !=null){
    			for(String s : list){
    				System.out.println(s);
    			}
    		}
    
    	}
    }
    
    ----------------------------------------------------
    输出结果
    1
    2
    3
    4
    5
    1
    2
    3
    4
    5
    wu
    jia
    dong
    hadoop
    spark
    storm
    ------------------------------------------------------
    
    

    用ArrayList存储字符串,要求加入泛型,并用增强for遍历

    import java.util.ArrayList;
    import java.util.Iterator;
    public class ArrayListDemo{
    	public static void main(String[] args){
    		ArrayList<String> array = new ArrayList<String>();
    		
    		array.add("java");
    		array.add("python");
    		array.add("scala");
    
    		//遍历集合
    		//迭代器
    		Iterator<String> it = array.iterator();
    		while(it.hasNext()){
    			String s = it.next();
    			System.out.println(s);
    		}
    
    		System.out.println("----------------------");
    		for(int i =0;i<array.size();i++){
    			String s = array.get(i);
    			System.out.println(s);
    		}
    
    		System.out.println("-----------------");
    		for(String s : array){
    			System.out.println(s);
    		}
    
    	}
    }
    ----------------------------------------------------
    输出结果
    java
    python
    scala
    ----------------------
    java
    python
    scala
    -----------------
    java
    python
    scala
    ----------------------------------------------------
    

    用ArrayList存储自定义对象,要求加入泛型,并用增强for遍历

    import java.util.ArrayList;
    import java.util.Iterator;
    public class ArrayListDemo1{
    	public static void main(String[] args){
    		ArrayList<Student> array = new ArrayList<Student>();
    		
    		Student s1 = new Student("wu",22);
    		Student s2 = new Student("jia",23);
    		Student s3 = new Student("dong",24);
    
    		array.add(s1);
    		array.add(s2);
    		array.add(s3);
    
    		//迭代器遍历
    		Iterator<Student> it = array.iterator();
    		while(it.hasNext()){
    			Student s = it.next();
    			System.out.println(s.getName()+"---"+s.getAge());
    		}
    
    		//for循环遍历
    		for(int i=0;i<array.size();i++){
    			Student s = array.get(i);
    			System.out.println(s.getName()+"---"+s.getAge());
    		}
    
    		//增强for循环
    		for(Student s:array){
    			System.out.println(s.getName()+"---"+s.getAge());
    		}
    	}
    }
    
    
    class Student{
    	private String name;
    	private int age;
    
    	public Student(){
    		super();
    	}
    
    	public Student(String name,int age){
    		this.name = name;
    		this.age = age;
    	}
    
    	public String getName(){
    		return name;
    	}
    
    	public void setName(String name){
    		this.name = name;
    	}
    
    	public int getAge(){
    		return age;
    	}
    
    	public void setAge(int age){
    		this.age = age;
    	}	
    
    	
    }
    
    -------------------------------------------
    输出结果
    wu---22
    jia---23
    dong---24
    wu---22
    jia---23
    dong---24
    wu---22
    jia---23
    dong---24
    ------------------------------------------------
    
    
    

    静态导入

    /*
     *静态导入
     *格式:import static 包名...类名.方法名
     *静态导入注意事项
     *方法必须是静态的;多个相同方法时需加前缀进行调用
     */
    import static java.lang.Math.abs;
    import static java.lang.Math.pow;
    import static java.lang.Math.max;
    public class StaticImportDemo{
    	public static void main(String[] args){
    		System.out.println(abs(-100));
    		System.out.println(pow(2,3));
    		System.out.println(max(20,30));
    	}
    }
    ----------------------------------------------
    输出结果
    100
    8.0
    30
    ---------------------------------------------
    

    可变参数

    public class ArgsDemo{
    	public static void main(String[] args){
    		int a=10;
    		int b=10;
    		int result = sum(a,b);
    		System.out.println("result:"+result);
    
    		int c = 10;
    		result = sum(a,b,c);
    		System.out.println("result:"+result);
    		
    	}
    		
    	public static int sum(int... a){
    		//其实a是一个数组
    		int s = 0;
    		for(int i:a){
    			s +=i;
    		}
    		return s;
    	}
    }
    ----------------------------------------------------
    输出结果
    result:20
    result:30
    ---------------------------------------------
    
    
    

    Arrays工具类的asList()方法

    /*
     *public static <T> List<T> asList(T... a):把数组转成集合
     *但是集合的长度不能改变,原因是这个集合的本质是数组
     *
     */
    import java.util.Arrays;
    import java.util.List;
    public class ArraysDemo{
    	public static void main(String[] args){
    		List<String> list = Arrays.asList("java","python","scala");//这里元素可变
    		for(String s:list){
    			System.out.println(s);
    		}
    
    	}
    }
    
    ---------------------------
    输出结果
    java
    python
    scala
    ----------------------------------------
    
    

    获取10个1-20之间的随机数,要求不能重复

    
    获取10个1-20之间的随机数,要求不能重复
    
    
    /*
     *获取10个1-20之间的随机数,要求不能重复
     *
     *
     *
     */
    import java.util.Random;
    import java.util.ArrayList;
    public class RandomDemo{
    	public static void main(String[] args){
    		//创建产生随机数的对象
    		Random r = new Random();
    		//创建存储随机数的集合
    		ArrayList<Integer> array = new ArrayList<Integer>();
    
    		//int number = r.nextInt(20);生成0-20之间的随机数
    		int count = 0;	
    	//	array.add(number);
    		while(count<10){
    			//先产生一个随机数
    			int number = r.nextInt(20)+1;
    			if(!array.contains(number)){
    				array.add(number);
    				count++;//如果这个变量递增放在if外面会怎么样
    			}
    		}
    		
    		for(Integer s:array){
    			System.out.println(s);
    		}
    	}
    }
    
    
    
    
    
  • 相关阅读:
    论学究式教育
    Oracle中rownum与order by的执行顺序
    无效存储过程问题解决
    解决SGA_MAX_SIZE 的大小比 MEMORY_TARGET 大导致数据无法启动的错误
    ORACLE 按时间创建分区表
    Timage Canvas画图
    Oracle存储过程的加密
    Win32对话框模板创建的窗口上响应键消息,Tab焦点切换消息,加速键消息
    win32 TreeCtrl控件通知消息, LVN_SELCHANGED和LVN_ITEMCHANGED用法
    win32 对话框模板添加加速键
  • 原文地址:https://www.cnblogs.com/wujiadong2014/p/6128875.html
Copyright © 2020-2023  润新知