泛型

泛型 < E > 括号里代表数据类型,只能把本类型的数据传到集合里

泛型的好处:

1.将运行时的错误提前到了编译阶段;2.消除警告线(可能有问题);3.不用进行强制类型转换;

ArrayList<String> list = new ArrayList<Student>();
//两个括号里都要写,当然不这样也可以,不过不建议

泛型的使用

1.先创建一个类;2.声明此类泛型

public class Demo<T>{
    private T t;
    public T getT(){
    return T;//返回T
    }
    public void setT(T t){
    this.t = t;
    }
    //T是数据类型
    
}

泛型方法 :类不是泛型,方法是泛型

泛型接口

声明接口,添加泛型
实现类有两种选择 :1.实现类知道将来用什么类型,可以在接口后直接添加泛型

泛型通配符 ? ?extends E ?super E

可以匹配任意类型 ,相当于Object
? extends E 向下限定,只能匹配E和其子类
?super E 想上限定,只能匹配E和其父类

增强for循环
for(初始变量; 条件语句; 控制语句){循环体}
for(数据类型 变量 : 集合(数组)){循环体},底层是迭代器;要指定类型,可能因为数据不同一出现错误;不能修改,会出现并发异常。

集合嵌套

用集合来存储集合对象

set

一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。
无序

hashset 构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75。

public class HashSetextends AbstractSetimplements Set, Cloneable, Serializable

hashmap

接口 Map <k,v>
类型参数
K 此映射所维护的键的类型 Key,建议使用String(不重复)
V 映射值得类型 Value

HashMap

public HashMap() 构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。
功能方法
1.
public V put(K key, V value)在此映射中关联指定值与指定键。如果该映射以前包含了一个该键的映射关系,则旧值被替换。
putAll
public void putAll(Map<? extends K,? extends V> m)

2.
public V remove(Object key)从此映射中移除指定键的映射关系(如果存在)。
clear()
3.
put()重新赋值
4.
public V get(Object key) 返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则
返回 null

public Set keySet()
public Collection values() 没有顺序
5.判断
public boolean containsKey (Object key)如果此映射包含对于指定键的映射关系,则返回 true。
public boolean containsValue(Object value)如果此映射将一个或多个键映射到指定值,则返回 true。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值