Java--->数组中查找指定元素、数组扩容和数组填充

时间:2022-10-17 10:57:44

又是一段时间没有写Java的实例了,发现忘的特别快,不写不行~~~

  1. 在数组中查找指定的元素,实例如下:
    1.1 如果不使用ArrayList去实现:
    public class TorrowTestDemo {
        //在数组中查找指定元素
        public static void main(String[] args){
            //定义一个数组
            String[] args1 = {"Hello","World!","Cool","Today"};
            //查找数组中是否包含 "Cool"
            for (int i = 0; i < args1.length; i++) {
                if (args1[i] == "Cool"){
                    System.out.println("数组中的第" + i + "元素为 Cool");
                }else {
                    //System.out.println("数组不包含 Cool");
                }
            }
        }
    }
    运行结果为: 数组中的第2元素为 Cool


    1.2 如果使用ArrayList去实现:
    ArrayList arrayList = new ArrayList();
            arrayList.add("China");
            arrayList.add("USA");
            arrayList.add("India");
            arrayList.add("Russia");

            boolean m;
            m = arrayList.contains("India");
            System.out.println(m);
    运行结果为: true
    这里我们还需要注意一点的是,ArrayList在添加数组元素时,如果没有指定数组下标,就是按照顺序添加;如果指定了数组下标,就按照数组下标进行添加数组元素,如下例子:
    ArrayList al = new ArrayList();
            al.add(0,"A");
            al.add(1,"B");
            al.add(2,"C");
            al.add(3,"D");
            al.add(4,"E");
            System.out.println(al);
    首先,可以看到,ArrayList是可以直接打印的,而普通的数组打印显示的是地址信息,如[Ljava.lang.String;@61bbe9ba  我们看下结果:
    [A, B, C, D, E] 如果我们不按照顺序,先添加第6个元素,再添加第5个元素会出现什么情况呢?我们来看下:
    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 5
        at java.util.ArrayList.rangeCheckForAdd(ArrayList.java:665)
        at java.util.ArrayList.add(ArrayList.java:477)
        at WorkStudy.TorrowTestDemo.main(TorrowTestDemo.java:37)
    我们来修改下,还是按照正常顺序:
    ArrayList al = new ArrayList();
            al.add(0,"A");
            al.add(1,"B");
            al.add(2,"C");
            al.add(3,"D");
            al.add(4,"E");
            System.out.println(al);
            al.add(5,"F");
            al.add(6,"G");
            System.out.println(al);
    来看下结果:
    [A, B, C, D, E, F, G]       正常,perfect!
  2. 来看下数组填充 可以使用 Arrays.fill方法来填充数组(普通数组可以直接使用赋值方法)
    class TomorrowTest{
        public static void main(String[] args){
            //使用Arrays.fill方法来向数组中填充数据
            int[] nums = new int[5]; //数组中有5个元素
            int num = 100;
            Arrays.fill(nums,num); //将数组中的每个元组都填充为100
            for (int num1:nums
                 ) {
                System.out.println(num);
            }

            //从数组下标增加不同的数
            int[] nums1 = new int[2];
            Arrays.fill(nums1,0,2,100);
            for (int num2:nums1
                 ) {
                System.out.println(num2);
            }
        }
    }
    然后我们看下结果:
    100
    100
    100
    100
    100
    100
    100
    第一个程序是有5个元素,每个元素都是100
    第二个程序是有3个元素,但是赋值的时候为0到2,不算2 ,相当于[0,2)
    所有只有2个元素

fill值这块还是挺有意思的,大家可以多试试

Java--->数组中查找指定元素、数组扩容和数组填充