美文网首页
Day17--集合

Day17--集合

作者: pure_joy | 来源:发表于2019-07-18 17:30 被阅读0次
集合框架的工具类:Collections
Arrays:用户操作数组的工具类。里面都是静态方法。
  • asList:将数组变成list集合。
  • 把数组变成list集合有什么好处?
    可以使用集合的思想和方法来操作数组中的元素。
    注意:将数组变成集合,不可以使用集合的增删方法。因为数组的长度是固定的。contains、get、indexOf()、subList()这些方法可以使用。如果你增删,那么会发生UnsupportedOperationException。
    如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转成集合中的元素。
    如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在。
集合变数组:Collection接口中的toArray方法。
  • 指定类型的数组到底要定义多长呢?
    当指定类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组。长度为集合的size。
    当指定类型的数据长度大于了集合的size,就不会新创建数组,而是使用传递进来的数组。
    所以创建一个刚刚好的数组最优。
  • 为什么要将集合变数组?
    为了限定对元素的操作。不需要进行增删了。
增强for循环--foreach
  • 格式:
    for(数据类型 变量名 : 被遍历的集合(Collection)或者数组){}
    对集合进行遍历。
    只能获取集合元素,但是不能对集合进行操作。
    迭代器除了遍历,还可以进行remove集合中元素的动作。
    如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
  • 传统for和高级for有什么区别呢?
    高级for有一个局限性,必须有被遍历的目标。
    建议在遍历数组的时候,还是希望使用传统for。因为传统for可以定义角标。
可变参数

JDK1.5版本新特性

import java.util.*;
class ChangeCanshu
{
    public static void main(String[] args) {
        
        //show(3,4);

        /*
        虽然少定义了多个方法,但是每次都要定义一个数组,作为实际参数
        

        int[] arr = {3,4};
        show(arr);

        int[] arr1 = {3,42,2,3};
        show(arr1);
        */

        /*
        可变参数。
        其实就是上一中数组参数的简写形式。
        不用每一次都手动的建立数组对象。
        只要将要操作的元素作为参数传递即可。
        隐式将这些参数封装成了数组。
        */
        show(2,1,3);
        show(1,2,3,4,5);
    }

    public static void show(int... arr)
    {
        System.out.println(arr.length());
    }
}

方法的可变参数:
在使用时注意:可变参数一定要定义在参数列表最后面。

静态导入--StaticImport
import java.util.*;
import static java.util.Arrays.*;//导入的是Arrays这个类中的所有静态成员。
class StaticImport
{
    public static void main(String[] args) {

        int[] arr = {3,5,2};

        Arrays.sort(arr);
        int index = binarySearch(arr,1);
        System.out.println(Arrays.toString(arr));
        System.out.println("Index:"+index);
    }
        
}

当类名重名时,需要指定具体的包名。
当方法重名时,需要指定具体所属的对象或者类。

相关文章

  • Day17--集合

    集合框架的工具类:Collections Arrays:用户操作数组的工具类。里面都是静态方法。 asList:将...

  • Day17--改写

    【3班1组17-joy】【作业内容】将下面这段表述改写的更能让读者觉得“这件事与我相关”(针对部分男女): 现在社...

  • 特训营Day17--数据透视表

    今天是参加E战到底特训营第十七天,渐渐接近尾声了。首先,祝大家七夕节快乐,单身也要快快乐乐的。 今天闲下来,发现自...

  • 我的Swift的学习总结 -->第二周

    集合 集合:Set,定义一个集合可以写成:var 集合名 : Set<集合类型> = [集合元素],具体的集合应用...

  • markdown 测试

    集合 集合 集合 引用

  • kotlin学习第五天:集合,高阶函数,Lambda表达式

    集合 list集合 list集合分为可变集合与不可变集合。由list of创建的集合为不可变集合,不能扩容,不能修...

  • kotlin练习 ---- 集合练习

    kotlin练习 - 集合练习 Set集合 Set集合创建 Set集合的使用 List集合 List集合创建 Li...

  • 集合总结

    集合 集合分为单列集合和双列集合两种: 一.单列集合: Collection是单列集合的顶级接口: 其中有三类集合...

  • 谐音记忆day17--粤语方舟281-285

    粤语方舟 第281期 国:真是笨手笨脚,整盆水都给洒了。粤:咁论尽,成盆水倒泻晒。 不小心,笨手笨脚:论尽,笨手笨...

  • 映射、元组、集合

    映射 元组 集合 集合之seq 集合之set 集合之map

网友评论

      本文标题:Day17--集合

      本文链接:https://www.haomeiwen.com/subject/nshllctx.html