ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java学习第十四天

2019-08-25 22:01:16  阅读:172  来源: 互联网

标签:Set Java Object 接口 学习 第十四天 key 类型 泛型


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 }

 

标签:Set,Java,Object,接口,学习,第十四天,key,类型,泛型
来源: https://www.cnblogs.com/demain/p/11409585.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有