• java----数组


    如果需要找数组的一下用法,到java----工具包 中查找

    链接:https://www.cnblogs.com/yanxiaoge/p/10650926.html

     数组:  

    //四种定义数组的方法
    		int[] num  = new int[5];
    		
    		int[] num1;
    		num1 = new int[5];
    		
    		int[] num2= new int[]{1,2,3};
    		
    		int[] num3 = {1,2,3};
    
              num1[0] = 1; 数组赋值
    
    len = num3.length;   //注意;如果数组的长度不变,这种的方式效率高
    for(;i<=len;)
    ===================
    for(int x:num3){     //jdk 1.5 之后 这种方式,也可以遍历数组
    System.out.println(x);
    }
    

    数组初始化默认值

    int、short、byte、long默认值是0

    char默认值是空(注意不是null,就是什么都没有,空字符)

    boolean默认是false

    float、dubbo默认是0.0

    其他对象默认值是null

        public static void main(String[] args){
            int[] ints = new int[10];
            System.out.println(ints[1]);
        }

     java空指针报错问题:

    public class Demo {
    	public static void main(String[] args) {
    		print(null);
    	}
    	public static void print(int[] num){
    		System.out.println(num);  //num=null  如果调用了num.length 就会报错
    	}
    }
    

     

     java可变参数:

    public class Demo {
    	public static void main(String[] args) {
    		int[] num = {1,2,3};
              //print(num);
    		print2(1,2,3);  //直接传参(一串数字)
    	}
    	public static void print(int[] num){
    		for(int i=0;i<num.length;i++){
    			System.out.println(num[i]);
    		}
    	}
    	//可变参数只能作为参数列表中的最后一个;可变参数作为数组使用
    	public static void print2(int...num){
    		for(int i=0;i<num.length;i++){
    			System.out.println(num[i]);
    		}
    	}
    }
    

      

     数组对象增删改查:

    import java.util.Arrays;
    public class Demo {
        public static void main(String[] args){
        	ChickManage chickManage = new ChickManage(5);
        	chickManage.add(new Chick(0,8));
        	chickManage.add(new Chick(1,2));
        	chickManage.add(new Chick(2,7));
        	chickManage.add(new Chick(3,4));
        	chickManage.add(new Chick(4,9));
        	chickManage.add(new Chick(5,3));
    //    	System.out.println(Arrays.toString(ChickManage.chicks));
    //    	chickManage.find(7);
        
    //    	chickManage.update(7,22);//将第一个笼子小鸡编号改为22;
    //    	chickManage.find(22);
        	
        	chickManage.delete(9);//删除编号为7的小鸡
        }
    }
    
    class ChickManage{
    	static Chick[] chicks = null; //创建一个对象数组,该数组只能添加该对象
    	private int count = 0;
    	public ChickManage(int num){
    		if(num>0){
    			chicks = new Chick[num];
    		}else{
    			chicks = new Chick[5];
    		}
    	}
    	public void add(Chick c){
    		if(count<chicks.length){
    			chicks[count] = c;
    			count++;
    		}else{
    			chicks = Arrays.copyOf(chicks, chicks.length*3/2+1);
    			chicks[count] = c;
    			count++;
    		}
    		
    	}
    	public Chick find(int id){
    		for(int i=0;i<count;i++){
    			if(Integer.parseInt(chicks[i].getInfo())==id){
    				System.out.println("小鸡的编号为"+chicks[i].getInfo()+",在第"+i+"个笼子");
    				return chicks[i];
    			}
    		}
    		System.out.println("小鸡编号不存在");
    		return null;
    	}
    	public void update(int old_id,int new_id){
    		Chick chick = find(old_id);
    		
    		chick.setInfo(new_id);
    	}
    	public void delete(int id){
    		Chick chick = find(id);
    		if(chick!=null){
    			findall();
    			if(chick.getid()==count-1){
    				chicks[count-1] = null;
    				count--;
    			}else{
    				for(int i=chick.getid();i<count;i++){
    					chicks[i] = chicks[i+1];
    				}
    				count--;  //需要将count-- count是记录的笼子的个数,方便下次添加的时候从哪个地方添加  
    			}
    			findall();
    		}
    		
    		
    	}
    	public void findall(){
    		
    		System.out.println(Arrays.toString(chicks));
    	}
    }
    class Chick{
    	private int id;
    	private int bianhao;
    	public Chick(int id,int bianhao){
    		this.id = id;
    		this.bianhao = bianhao;
    	}
    	public String getInfo(){
    		return this.bianhao+"";
    	}
    	public int getid(){
    		return this.id;
    	}
    	public void setInfo(int bianhao){
    		this.bianhao = bianhao;
    	}
    }
    

      

    数组转list

    import java.util.Arrays;
    import java.util.List;
    
    public class T {
        public static void main(String[] args) {
            test();
        }
        public static void test(){
            Integer x[] ={1,2,3};
            //int x[] = {1,2,3} 不支持,不能把基本数据类型转化为列表,原因:asList接受的参数是一个泛型的变长参数,而基本数据类型是无法泛型化的
            //int[] intArray = {1, 2, 3, 4};
            //List<Integer> list = Ints.asList(intArray); 可以使用guava类库的工具方法,把基本数据类型的数组转化为其包装类型的list
    
            List<Integer> integers = Arrays.asList(x);
            System.out.println(integers);
    
            //asList方法返回的是数组的一个视图
            //视图意味着,对这个list的操作都会反映在原数组上,而且这个list是定长的,不支持add、remove等改变长度的方法。
            //integers.add(1) 不支持
        }
    }
    

    方式二

    public class T {
        public static void main(String[] args) {
            String[] strlist = {"good","good","study","day","day","up"};
            Stream<String> stream = Stream.of(strlist); //泛型必须是应用类型,int[] a= {1,1,2}就不行,要使用Interger a = {1,1,1};
    
            List<String> list = stream.collect(Collectors.toList()); //将数组转成集合
            list.add("sss"); //可以使用add方法
            list.forEach(System.out::println);
        }
    }
    

      

  • 相关阅读:
    Java并发(五):并发,迭代器和容器
    Java并发(四):并发集合ConcurrentHashMap的源码分析
    Java爬虫初体验
    提升Java代码质量(三)
    Get和Post的初步探究
    01-什么是ElasticSearch
    python-实现动态web服务器
    python-实现二叉树
    python-实现栈结构
    python-实现单链表
  • 原文地址:https://www.cnblogs.com/yanxiaoge/p/10650403.html
Copyright © 2020-2023  润新知