java

Arrays 类:包含用于操作数组的各种方法

public static String toString (int [] a); 返回指定数组的内容的字符串表现形式

public static void sort(int [] a) ;按照数字顺序排列指定的数组

基本类型包装类:最常见操作就是用于基本类型和字符串之间的互相转换

  integer类的概述和使用

    integer:包装一个对象中的原始类int的值

      public integer(int value) ;根据int值创建integer对象

      public integer(String s);根据String值创建integer对象

      public static integer valueOf(int i);返回指定的int值的integer实例

      public static integer valueOf(String s);返回一个保存指定值的integer对象String

  int类型装换成String

      //方式1

    int number=100;

    String s1=""+number;

      //方式2 public static integer valueOf(int i);

    String s2=String.valueof(number);

    sout("s2")

 

  String类型转换成int类型

      //方式1

     String s="100";

    Integer i=Integer.valueof(s);

    int x=i.intValue();  Int和Integer的区别_integer和int的区别_我是陈旭原的博客-CSDN博客

    sout("x")

      //方式2

    int y=Integer.parseInt(s);

    sout(y);

  split:将数组中的数字提取出来

  需求:将字符串中的数据冒泡排序(从小到大)  

     String s="11 33 9 4";

     //把字符串中的数字数据存在int类型的数组中

     String s=s.split(" ");

     int [] a=new int[s.length];

     for(int i=0;i<a.length;i++){

       a[i]=integer.parseInt(s[i]);

     }

     //对int数组进行排序

     Arrays.sort(arr);

     //把排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用stringBuilder来实现

     StringBuilder sb=new StringBuilder();

     for(int i=0;i<a.length;i++){

      if( i==length-1){

        sb.append(a[i]);

      }else{

        sb.append(a[i]).append(" ");

      }

    }

    String result=sb.toString();

    sout(result);

 

  装箱:把基本数据类型转换为对应的包装类类型。

    integer i = Integer.valueof(100);

    integer li=100;//自动装箱

  拆箱:把包装类类型转换为对应的基本数据类型。

    li=i.intValue()+200;

    li=li+200;//自动插箱

    Integer  lli=null;

    lli=lii+300;//空指针异常

  data()类

  system()类

  SimpleDateFormat()类

   Calendar()类:日历类

 

 

  异常

  

  Collection集合

   Collection集合的遍历:

            Iterator:迭代器,集合遍历的专用方法

            Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到迭代器是通过集合的iterator()方法得到的,所以我们说它是依赖于集合存在的

            Iterator中的常用方法

            E next:返回迭代中的下一个元素

            boolean hasNext():如果迭代具有更多元素,则返回true

  迭代器的并发修改异常

  增强for循环:简化数组和Collection集合的遍历

       实现lterable接口的类允许其对象成为增强for语句的目标

       其原理是一个lterator迭代器

 

  list常用集合子类:ArrayList,LinkedList

      ArrayList:底层数据结果是数组,查询快,增删慢

      LinkedList:底层数据结构是链表,查询慢,增删快

 

  set集合特点:1.不包含重复元素的集合,没有带索引的方法2.不能使用普通for循环遍历3.因为没有索引,所以遍历出来的顺序是乱的

 

  哈希值:是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值

  HashSet集合的特点:1.底层数据结构是哈希表2.对集合的迭代顺序不作任何保证,页脚是说不保证存储和取出的元素顺序一致3.没有带索引的方法,不能使用普通for循环遍历4.由于是Set集合,所以是不包含重读的元素的集合

  哈希表:jdk8之前采用数组+链表实现,可以说一个匀速为链表的数组

      jdk8以后,在长度比较长的时候,底层实现了优化

   

  LinkedHashSet集合:1.哈希表和链表实现的set接口,具有可预测的迭代次序2.由链表保证元素有需,也就是说,元素的存储和取出顺序是一至的3.由哈希表保证元素唯一,没有重复的元素。

  TreeSet集合特点:1.元素有需,这里的顺序不是指存储和取出的顺序,而是按照一定的规则进行排序,具体排序方式取决于构造方法。

  泛型方法:

 

   泛型接口:格式:修饰符interface接口名<类型>{ }  

          public interface DD<T>{ } 

  

  类型通配符:<?>通配符的元素可以匹配任何类型,这种带通配符的类型仅表示它是各种泛型的父类,并不能把元素添加到其中

  如果我们不希望list<?>是任何通配符的父类,只是希望它代表一类泛型的父类,可以使用类型通配符的上限

  1.类型通配符的上限:<?extends 类型>

  2.List<?extends Number>:表示的类型是Number或者其子类型

  除了可以指定类型通配符的上限,我们也可以指定类型通配符的下线

  1.类型通配符下限:<?super 类型>

  2.List<?super Number>:它表示的类型是Number或者其父类型

 

  可变参数:格式:修饰符 返回值类型 方法名(数据类型...变量名){ }

       范例:public static int sum(int...a){ }

       这里的变量是一个数组,如果一个方法有多个参数,包含可变参数,可变参数要放到最后

 

 

   map集合:Interface Map<K,V>  k:键的类型,V:值的类型

       将键映射到值的对象,不能包含重复的键,每个键可以映射到最多一个值

       例如:学号和姓名

       创建map集合的对象

  创建Map集合的对象

      1.多态的方式

      2.具体的实现类HashMap

 

 

 

 

 

  

 

posted @ 2023-05-09 14:05  骑牛飞上天  阅读(29)  评论(0)    收藏  举报