JAVA学习->Arrays

一、for_each 循环

        Java有一种功能很强的循环结构,可以用来依次处理数组中的每个元素(其它类型的元素集合亦可)而不必指定下标值。

for_each的循环对象一般为一个集合、数组、List、ArrayList、LinkList、Vector等。

        其格式是:

                 for(元素类型T  每次循环元素的名称O:循环对象){

                       // 对O进行操作

                }

1、for_each遍历数组

public class For_eachDemo1 {
    public static void main(String[] args) {
        String[] names = {"beibei", "jingjing"};
        for (String name : names) {
            System.out.println(name);
        }
    }
}

2、for_each遍历List

public class For_eachDemo2 {

    public static void main(String[] args) {
        List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        for(String str : list){
            System.out.println(str);
        }
    }
}

注意:for_each虽然可以用来遍历数组或集合,但只能进行遍历,无法在遍历数组或集合的过程中对其进行修改,而for循环可以对原数组或集合进行修改。

二、Arrays类

1、java.util.Arrays

        static   String    toString  (type[]  a);

        返回含有a中数据元素的字符串,这些数据元素都被放入括号中,并用逗号分隔。

        参数:a     类型可为byte、short、int、long、char、boolean、float、double的数组。


        static    type    copyOf   (type[]  a, int  length);

        static    type    copyOf   (type[]  a, int  start,  int  end); 

        返回与a类型相同的一个数组,其长度为length或end-start,数组元素为a的值。

        参数:   a    类型可为byte、short、int、long、char、boolean、float、double的数组。

                   start     起始下标(包含该值)

                   end       终止下标(不包含这个值)。这个值可能大于a.length,在这个情况下,结果为0或者为false。

                  length      拷贝数据元素的长度,如果这个值可能大于a.length,在这个情况下,结果为0或者为false。否则,数组中只有前length个数据元素的拷贝值。


        static    void    sort  (type[]  a);

        采用优化的快速排序的算法对数组进行排序。

        参数:a     类型可为byte、short、int、long、char、boolean、float、double的数组。


        static    int    binarySearch  (type[]  a,type  v);

        static    int    binarySearch  (type[]  a, int   start, int  end ,type  v);

        采用二分搜索算法查找值v,如果查找成功,则返回相应的下标值;否则,返回一个负数值r

        参数:a     类型可为byte、short、int、long、char、boolean、float、double的数组。

                 start     起始下标(包含该值)

                 end       终止下标(不包含这个值)。

                   v        同a的数据元素类型相同的值。


        static    void    fill(type[]  a,type  v);

        将数据的所有数据元素值设置为v。

         参数:a     类型可为byte、short、int、long、char、boolean、float、double的数组。

                   v     同a的数据元素类型相同的值。


        static    boolean    equals (type[]  a,type[]  b);

        若两个数组大小相同,并且下标相同的元素对应相等,返回true。

        参数:a     类型可为byte、short、int、long、char、boolean、float、double的数组。


猜你喜欢

转载自blog.csdn.net/wuyileiju__/article/details/80554783