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

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • //对String泛型的list的随机排序

    //十条随机字符串,长度在10以内,字符随机生成可重复,但每条字符串不可重复。

    public void testSort2(){

    //定义一个基础字符串(即生成的每一个随机字符串里的每一个字符都要包含在这个基础字符串里面)

    String str="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    List<String>stringList=new ArrayList<String>();

    String s=new String();

        StringBuffer sb = new StringBuffer();//拼接字符串

        int num=0;

        while(num<10){

        do{

        // 每条字符串的长度为10以内的随机整数    

        int r = new Random().nextInt(10)+1;

        for(int i=0;i<r;i++){

        // 每条字符串的每个字符都为随机生成的字符,字符可以重复

        int random=new Random().nextInt(62);

        char c=str.charAt(random);

        sb.append(c);// 将生成的随机字符串添加进List集合中

       

        }

        s=sb.toString();

        }while(stringList.contains(s));

        stringList.add(s);

        System.out.println("成功添加:"+stringList.get(num));

            //清除StringBuffer里面所有的字符,否则它会叠加字符(重要)

    sb.delete(0, sb.length());

        num++;

        }

    System.out.println("-----排序前----");

    for (String string : stringList) {

    System.out.println("元素:"+string);

    }

    Collections.sort(stringList);

    System.out.println("-----排序后----");

    for (String string : stringList) {

    System.out.println("元素:"+string);

    }

    }


    查看全部
  • 对象名.length();长度

    对象名.indexOf(int类型);字符第一次出现位置

    对象名.indexOf(String类型);字符串第一次出现位置

    对象名.equals(串);判断是否相同

    对象名.toLower/UpperCase();小写/大写转换

    对象名.substring(int1[,int2]);从int1位置截取到int2位置或者截取到末尾位置

    查看全部
  • 异常:有异于常态,阻止当前方法或作用域

    查看全部
    0 采集 收起 来源:Java异常简介

    2018-07-30

  • Map中通过containsKey()方法和containsValue()方法来判断键和值是否存在 Map 中对对象进行了 Key 标记,通过 get(Key)可以取得对应的对象 Map 的containsValue()方法的参数是 Object 对象,因为Map 的 Value 值是对象元素 Map 的containsKey()方法取得 Map 映射的 Key 值 List中的contains()方法借Map中的containsValue()方法调用equals()方法来进行比较。所以要重写Hashcode和equals方法 跟 List 的 contains()方法一样,Map 中的 containsValue()方法也会调用每个 Value 值的 equals()方法去和参数对象比较 id 是string类型 contains方法使用equals方法 来比较,所以值相等就返回ture 

    Value 是Student类型,自己定义的,默认的contains方法中的equals方法,比较的是两个引用是否一样,所以要重写equals方法 由于是比较两student类型是否相同,所以要做Student类中重写equals方法

    查看全部
  • indexOf()方法与lastIndexOf()方法实现原理: 1、遍历调用每个元素的equals()方法,如果返回true则将次元素的索引返回; 2、如果有多个相同元素,则只返回第一个元素的索引; 3、lastIndexOf()方法则从最后一个元素开始遍历;

    查看全部
  • 判断set中的课程是否存在? 使用set中的contains方法,set中调用contains(obj)方法,contains方法的实现机制:先调用object中的hashcode方法,再调用object中的equals方法。所以要对对象的hashcode()方法和equals方法重写,可以使用eclipse中的source>GENARATE hashcode(),在对象的类中,实现方法的重写。

    注意了这里关于使用 Set 集的 hashCode的方法,hashCode方法的工作原理是 Set.contains(E e)的时候,先调用从Object继承而来的hashCode方法,然后在调用equals()方法,连个方法都返回真的时候,才认定Set包含某个元素。jvm运行时,给每个对象分配唯一一个标志身份的标志hanshcode。众类鼻祖Object的hashCode()方法在默认情况下,判断哈希码是不是相同.即如同equals默认情况下比较的是二者是不是同一个内存快。Set集的contains方法,内部就是先调用hashCode再调用equals()方法。很多情况要结合实际对hashCode进行改写

    查看全部
  •  

    1、集合的概念

    数学中:具有共同属性的事物的总体

    Java中集合类:是一种工具类,像容器,储存任意数量的具有共同属性的对象

    2、集合的作用(类似容器)

    a在类的内部,对数据进行组织

    (意义与作用不同的2种属性,不能放在一个集合中,如学生姓名和学生性别)

    b简单快速地查找某个元素

    c有的集合接口,提供了一系列排列有序的元素,并且可以在序列中快速地插入或删除有关的元素

    d有的集合接口,提供了映射关系 ,可以通过关键字key去快速查找对应的唯一对象,而这个关键字可以是任意类型

    对比数组

    数组长度容量固定;

    数组只能通过下标访问元素,类型固定

    集合在使用中可以动态扩展容量;

    有的集合可以通过任意数据类型查找所映射的具体对象


    查看全部
  • 泛型 <>里面填的,不能是int long 要把它变成 包装类 Integer Long类似这些。

    List<Integer> list = new ArrayList<Integer>();

    list.add(1);

    System.out.println(list.get(0));


    查看全部
  • 因为加入集合的元素有可能是其他类型,导致抛出错误。

    所以引入 泛型

    泛型:规定某个集合只可以存放特定类型的对象。

    在编译期间进行类型检查 

    取出不用强转类型

    使用方法:

    public List<Course> courses;

    构造函数{
        this.courses = new ArrayList<Course>();
    }

    在For Each遍历的时候,

    public void testForEach(){

        for(Course cr : courses){

            System.out.println(cr.id+":"+cr.name);

        }

    }

    查看全部
  • 删除

    1. 定义一个在指定位置上的List对象,创建给cr //coursesToSelect.get(4);

    2. 把cr传递到 coursesToSelect.set(sr); //这里也可以直接传递位置

    3. 完成删除。

    查看全部
  • 修改List的方法:

    .set(要修改的位置,新的值);

    查看全部
    1. 当要多个课程同时添加的时候可以使用类似数组的东西
      Course[] course = {new Course("3","离散数学",new Course("4","汇编语言"))};
      courseToSelect.addAll(Arrays.asList(course));
      分解动作:
      .addAll();
      Arrays.asList(course);

    2. 遍历的方法查询List列表里面的对象
      int size = coursesToSelect.size(); //得到列表的长度
      for()  平时用得最多这个方法

    3. 迭代器来遍历查询List列表中的对象
      因为迭代器是个接口,先创建一个接口。
      Iterator it = coursesToSelect.Iterator();
      while(it.hasnext()){  //还有更多元素的话,就返回正确
          Course cr = (Course)it.next();
          再打印出来。
      }

    查看全部
    1. 定义Course和Student对象。

    2. 实例化Course类的对象cr1(构造函数已经把确定的课程序号和课程名字实例化),然后把对象cr1添加到 对象组的List里面去。

    3. 也就是说,List是一群对象s在一起。

    查看全部
  • import java.util.Comparator;
    public class StudentComparator implements Comparator<Student>{
    public compare(Student o1,Student o2){
    return 0;}}


    查看全部
  • Comparable接口----可比较的

    实现该接口表示:这个类的实例可以比较大小,可以进行自然排序

    定义了默认的比较规则

    其实现类需要实现compareTo方法

    compareTo()方法返回正数表示大,负数表示小,0表示相等

    Comparator接口-----比较工具接口

    用于定义临时比较规则,而不是默认比较规则

    其实现类需要实现comparable()方法

    Comparator和Comparable都是Java集合框架的成员

    Java集合框架

    Collection接口

    Cllections工具类

    Map接口

    Comparator接口

    Comparable接口

    查看全部

举报

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

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