集合

Collection

方法:
 Add(E)
 Void clear();
 Boolean contains(Object obbj) //判断是否包含某个对象 需要重写equals方法
 Boolean remove(Object o)  //删除集合中某个元素 需要重写equals方法
 Object[] toArray()  //集合转为数组 重写toString方法
迭代器
 Iterator<E> integer()
 Iterator接口
方法:
   Boolean hasNext()  //判断集合中有没下一个元素
   Object next()      //取出元素
并发修改异常
ConcurrentModificationException
迭代器在迭代过程中发现元素的个数和它之前开辟的个数不一样,它就不知道该如何迭代

Iterator<String> it=list.iterator();
Whie(it.hasNext){
String name=it.naxt;
If(name.equals(“小刘”)){
List.add(“小猪”);
}
}

解决:集合自己遍历集合自己修改,(普通for循环,不用迭代器)
结论: 当使用迭代器遍历时,如果集合修改内容则会发生并发修改异常
增强for循环

只能用来遍历
对普通for循环的简化

For(集合或数组中元素的类型变量:集合或数组的名字){

 }     

快捷键: fore+alt+/
内部原理:在遍历时也使用的迭代器,也有可能发生并发修改异常
使用:普通for 除了遍历也可对元素内容进行修改
增强for循环 只能遍历

泛型

泛型只能是引用类型 不能是基本类型 int——Integer

修饰类(泛型类)
声明:
  声明类中有类型T不确定,泛型类的类型在创建对象时被确定

定义:
Class Demo<T>{  
       T value;
       Public void method(T t);
 }   

确定:
 如果创建对象时没有指定泛型的类型则泛型全是object
泛型类可以理解为模板类,以后用户在创建对象T指定是什么类型就是什么类型
Demo<T> d=new Demo<T>();

继承:
Class Zi<T> extends Demos<T>{   }如果子类没有确定父类泛型子类还是泛型类
Class Zi extends Demo<String>{  }如果子类已经确定了父类的泛型,所有子类都是普通类
 一个类可以有一个或多个泛型
 Class Demo<T,m>{  
       T value;
       M value;
       Public void method(T t);
 }   
 继承:
 Class Zi<T,M> extends Deom<T,M>{   }
 Class Zi<T> extends Deom<T,String>{   }
 Class Zi<M> extends Deom<int,M>{   }
修饰方法(泛型方法)
 声明:
 方法内传入的参数类型是泛型,则返回类型前加泛型<T>
 Public static <T>void method(T t){    }
修饰接口(泛型接口)
 接口中的参数类型不确定
 Interface Inter<T>{
    Public abstract void method(T t);
  }
确定类型:
实现类确定泛型的类型
Class Demo implement Inter<String>{
      Public void method(String s){
              .....
 }
 }

Class Demo<T> implement Inter<T>{
       Public void method<T t>{   
                .....
        }
 }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值