为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第三季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • 1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1

    2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1

    3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符


    查看全部
  • keySet()返回的是所有键的一个set集合(此例程中是set<String>类型的keySet) hashMap实现Map接口,hashMap中的映射是无序的,因此输出也是无序的;但是把的Key拿出来放到Set里面去,Set是有序的,你按着有序的KEY拿出VALUE,那结果当然是有序的啦 Map的get()方法中传入key值就可以取得key值对应的对象(学生对象)

    查看全部
  • Map接口
    1. Map接口提供了一中映射关系,其中的元素是键值对(key-value)的形式存储的,能够实现根据Key快速查找value。Key-value可以是任何对象,是以Entry类型的对象实例存在的。
    2.Key是不可以重复的,Value是可以重复的。Key-value都可以为null,不过只能有一个key是null。
    3.map支持泛型,Map<K,V>
    4.每个键最多只能映射到一个值
    5.Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法
    6.通过put<K key,V value>,remove<Object key>操作数据
    7.HashMap中的Entry对象是无序排列的,HashMap是Map的一个重要实现类,也是最常用的,基于哈希表是实现

    查看全部
  • Set接口及其实现类——HashSet
    Set是元素无序并且不可以重复的集合,被称为集;
    HashSet——哈希集,是Set的一个重要实现类。
    1、Set没有像List中set()方法一样就修改,因为List是有序的,可以指定位置,而Set是无序的。
    2、查询遍历时,Set不能用get()方法去获取,因为无序没有指定索引ID,但可以使用foreach和iterator来遍历,但是每次遍历出来可能顺序都不一样,还是因为无序造成的。
    3、Set中的size(),add(),addAll(),remove(),removeAll()与List类似。
    4、Set还可以添加null;无意义

    查看全部
  • 泛型<>;规定List定义的容器只能存储某种类型的元素。不用泛型的话是什么类型的元素都可以插入,因为插入集合是忽略其类型,把它看成为Object类型,取出时需要强行转换对应的类型。 泛型中除了可以添加规定的类型还可以添加规定类型的子类型。基本类型不能做泛型,只能使用基本类型的包装类

    编写带有泛型的集合
    List<Course> courseToSelect; 
    在构造方法中(实例化的时候也可以不在构造方法,直接实例就可以)
    this.courseToSelect=new ArrayList<Course>();   //带有泛型-Course的List类型属性就创建了
    泛型集合中,不能添加泛型规定的类型以及其子类型以外的对象,否则会报错。
    运用了泛型的话,用foreach语句时 存储变量应该为泛型的类型。for(Course a:courseToSelect),不必再用Object取出再强转,因为已经规定容器里装的都是Course类型。


    查看全部
  • 在ArrayList中添加元素的方法:
    一、单个添加方式。Course cr1=new Course("1","数据结构");courseToSelect.add(cr1);
    或者 Course cr2=new Course("2","C语言");courseToSelect.add(0,cr2);
    二、数组形式添加,调用getAll()方法。
    <1>先创建一个数组元素,Course[] course = {new Course("3", "离散数学"), new Course("4", "汇编语言");
    取得collection实例,通过coursesToSelect.addAll(Arrays.asList(course))中asList将创建的course数组转变成一个 List,并且将course值传递进去;将课程从集合中取出,Course temp3 = (Course) coursesToSelect.get(2);Course temp4 = (Course) coursesToSelect.get(3);
    <2>先创建一个数组元素,Course[] course2 = {new Course("5", "高等数学"), new Course("6", "线性代数")};
    然后coursesToSelect.addAll(2, Arrays.asList(course2))为新元素指定位置,并且例子中此处添加两个元素,但coursesToSelect.addAll(index,course2)中只指定一次index值,即可将两元素添加在2、3位置。<br>
    三、补充每种方法的两个确定位置的方式:ArrayList.addAll(int index, List L) 在指定位置插入一个序列表,
    ArrayList.addAll(List L) 在已有ArrayList的末尾插入一个list序列。

    查看全部
  • List是接口,所以在构造方法中不能直接实例化,而通过ArrayList()实例化。
    例:public List coursesToSelect = new ArrayList();

    List、Set、Map都是接口 不可以直接对他实例化 要借助相应的实例化类 ArrayList(), HashSet(),HashMap();
    调用Add()方法添加到List中。有两种方法:
    方法1:直接添加,例:CoursesToSelect.add(cr1);
    方法2:可以指定添加的位置,例:CoursesToSelect.add(0,cr1);
    使用get()方法取出一个对象,当一个对象被添加到集合中去的时候,它会被忽略掉类型,而都变成Object类型,取出时需要类型转换。
    例:Course temp = (Course)coursesToSelect.get(0);   为类型强转
    如果添加到List中的长度大于他目前的长度,则系统会出现异常,即数组下表越界异常


    查看全部
  • 创建有参构造的原因是为了利用构造重载同时给多个属性赋值,而不用set一个一个赋值;list和set最大的不同就是List的元素是可以重复的,而Set的元素是不能重复的,原因可能是因为课程是不重复的,所以用了set。接口中没有自身的构造函数,所以不能实例化。接口的方法都是抽象方法,变量都是常量,因为是接口方法是抽象的,所以接口方法只有声明而没有方法体(即方法的实现)。正因为如此,一个接口往往至少有一个对应的实现类(可以多个),接口的实现类通过重写(override)来接口中的抽象方法来提供方法的实现。所以接口实例化的方式是new 接口实现类()

    查看全部
  • Collection接口是List、Set、Queue接口的父接口
    Collection接口定义了可用于操作List、Set和Queue的方法--增删改查
    List接口及其实现类--ArrayList
    List是元素有序并且可以重复的集合,被称为序列。
    List可以精确的控制每个元素的插入位置,或删除某个位置元素
    List有add()插入方法和get()获取方法
    ArrayList--数组序列,是List的一个重要实现类
    ArrayList底层是由数组实现的,这也是其名字的由来

    查看全部
  • 字符串是对象

    查看全部
    0 采集 收起 来源:练习题

    2018-05-28

  • 集合概念】
    1.类中属性类型相同,意义与作用也相同,就可以放到集合中
    2.数组的长度是固定的,集合的长度或者容量在使用时可以动态扩展的
    JAVA集合框架体系结构:Collection与Map是两个根接口。
    Collection接口:内部存储的是一个个独立的对象。包含:
    1、List接口:序列,存储元素排列有序且可重复。实现类:ArrayList,数组序列。实现类:LinkedList,链表。
    2、Queue接口:队列,存储元素排列有序且可重复。实现类:LinkedList,链表。
    3、Set接口:集,存储元素无序且不可重复。实现类:HashSet,哈希集。
    Map接口:内部以<Key,Value>两个对象(任意类型)为一个映射去存储数据,这一个映射就是Entry类(Map的内部类)的实例。包括:实现类:HashMap,哈希表。

    https://img1.sycdn.imooc.com//5b0b6f95000166a912800720.jpg其中ArrayList  HashSet HashMap使用频率最高



    查看全部
  • 使用foreach循环输出数组中的元素

    for(int num:nums)

    查看全部
  • 调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。

    查看全部
  • 基本类型是不能调用方法的,而其包装类具有很多方法

    查看全部
    0 采集 收起 来源:练习题

    2018-05-28

  • 泛型<>;规定List定义的容器只能存储某种类型的元素。不用泛型的话是什么类型的元素都可以插入,因为插入集合是忽略其类型,把它看成为Object类型,取出时需要强行转换对应的类型。 泛型中除了可以添加规定的类型还可以添加规定类型的子类型。基本类型不能做泛型,只能使用基本类型的包装类

    编写带有泛型的集合
    List<Course> courseToSelect; 
    在构造方法中(实例化的时候也可以不在构造方法,直接实例就可以)
    this.courseToSelect=new ArrayList<Course>();   //带有泛型-Course的List类型属性就创建了
    泛型集合中,不能添加泛型规定的类型以及其子类型以外的对象,否则会报错。
    运用了泛型的话,用foreach语句时 存储变量应该为泛型的类型。for(Course a:courseToSelect),不必再用Object取出再强转,因为已经规定容器里装的都是Course类型。

    查看全部

举报

0/150
提交
取消
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!