zoukankan      html  css  js  c++  java
  • Java学习第十四天

    1.Collection
      List 有序,可重复,可以操作下标

         |------ArrayList:
         |------LinkedList:Node(数据,地址)
         |------Vector

      Set 无序,不可重复,不可以操作下标

         |------HashSet:哈希表(根据哈希值确定对象的存储位置)
         |------add() int hashCode() 和集合中已有的所有对象哈希值都不相同,直接加入集合,否则再调用equals()方法

         |------TreeSet:二叉树,可排序,默认调用对象的 compareTo()方法 ,依据compareTo(Object obj)方法的返回值来确定谁大谁小,

                需要对象所属的类实现
    2.Comparable接口

      当对象已有的比较大小的方式不满足需求,那么可以自定义排序方式,
      Comparator compare(Object obj1,Object obj2)

    3.泛型

     1 //在创建对象时,才能确定泛型类型
     2 泛型类:class Demo<T>{
     3 
     4 }
     5 //当类上的泛型确定了方法的参数的类型才能确定
     6 泛型方法:class Test<T>{
     7 
     8 public void s1(T t){}
     9 //一个方法希望参数的类型是任意类型,相当于参数类型是 Object
    10 //在方法前边加上<E> 表示方法自己使用泛型
    11 public <T> ss(T t){}
    12 
    13 
    14 //静态方法进内存的时候没有对象 Test.ff()
    15 //静态方法只能自己使用泛型
    16 public static <T> show(T tt){}
    17 }
    18 
    19  
    20 
    21 //泛型接口:一个接口能用泛型,说明在定义接口时定义了泛型
    22 泛型接口:
    23 interface inter<T>{    
    24 //当接口上的泛型类型确定了,该方法的参数类型才能确定
    25 public abstract void fun(Integer i);
    26 }
    27 
    28 class Tests implements inter<String>{
    29 
    30 }
    31 
    32  
    33 
    34 //当类上的泛型确定了,接口的泛型才能确定
    35 class Tests<T> implements inter<T>{
    36 
    37 }
    38 
    39 Tests<String> t = new Tests<>();

    4.通配符: ?

      泛型限定:? extends E: 限定了上限,可以接收E类型或E类型的子类类型
           ? super E: 限定了下限,可以接收E类型或E类型的父类类型


    5.Map<K,V>:集合是一个独立的接口,不属于Collection的子接口,存储的是键值对,一对儿一对儿的存,

           可以存储null键,null值的键不能重复(键要唯一)

        |------HashMap

        |------TreeMap

     1 添加:
     2 V put(K key, V value) 
     3 void putAll(Map<? extends K,? extends V> m)
     4 
     5 删除:
     6 V remove(Object key) 
     7 void clear() 
     8 
     9 获取:
    10 V get(Object key)
    11 
    12 Set<K> keySet() 
    13 Set<Map.Entry<K,V>> entrySet() 
    14 int size() 
    15 Collection<V> values() 
    16 判断:
    17 boolean isEmpty() 
    18 boolean containsKey(Object key) 
    19 boolean containsValue(Object value)
    20 
    21 Set<K> keySet() : 取到所有的键,存储到一个Set集合中,并返回该集合对象,因为Set有迭代器
    22 所以得到Set集合的迭代器,每次迭代出来的是一个键,然后再根据键获取值
    23 
    24 
    25 Set<Map.Entry<K,V>> entrySet() :取到每个键值对应的Map.Entry(映射关系)类型的值,存储到一个Set集合中,并返回这个集合
    26 集合中每个映射关系类型的值既包括键也包括值,Entry是定义在Map内部的静态成员,Entry是对存储在
    27 map内部的键值对的映射关系的描述,所以定义在Map内部
    28 遍历:
    29 Set<Map.Entry<String,String>> en = map.entrySet();
    30 
    31 Iterator<Map.Entry<String,String>> ite = en.iterator();
    32 
    33 while(ite.hasNext()){
    34 
    35 Map.Entry<String,String> e = ite.next();
    36 String key = e.getKey();
    37 String value=e.getValue();
    38 sop(key+"="+value);
    39 }
  • 相关阅读:
    python迭代器
    初识html
    跨域(jsonp)方法
    闭包
    pycharm软件配置
    插槽slot
    git常用操作
    在mac中使用Charles抓包操作
    防止网页被嵌入框架
    H5唤起APP
  • 原文地址:https://www.cnblogs.com/demain/p/11409585.html
Copyright © 2011-2022 走看看