zoukankan      html  css  js  c++  java
  • ArrayList

    1.ArrayList继承了AbstractList同时又实现接口List,而List接口又继承了Collection接口,Collection是集合中最顶层的接口了;Collection是所以集合的祖宗
    2.List接口:怎么存就怎么取,有数组下标,可以存重复元素: 常有的类:ArrayList类; LinkedList类;
    3.Set接口:怎么存的不一定怎么取,没有数组下标,不可以存重复数据 ;常有的类:HashSet类、 LinkedHashSet类
    4.Collection是接口不能new对象所以的多态借用子类对象:Collect<泛型> 变量名=new ArrayList<泛型>();
    5.ArrayList<Person> list=new ArrayList<Person>();添加元素:list.add(new Person("小明",12));new Person("小明",12)这里直接添加了Person对象,因为重写构造方法所以直接赋值
    6.System.out.println(list.get(i)) 如果Person类中没有重写toString方法那么这里打印的是地址;但是Person重写了tostring方法那么这里打印的方法内的内容
    7.Collection<Integer> col=new ArrayList<Integer>();因为Collection是接口不能new对象所以这里借用了子类ArrayList创建对象,是多态
    Collection的基本操作:1.添加元素:col.add(123);2.删除元素:col.remove(123);这里删除直接写集合内要删除的内容不需要写下标
    3.清空集合:col.clear;把集合中的内容删了,但是集合还在
    8.因为Collection是接口不能new对象所以的向下转型才能遍历集合:
    if(col Instanceof ArrayList){ ArrayList<Integer> arr=(ArrayList<Integer>)col; for(int i=0;i<arr.size();i++){system.out.println(arr.get(i))}
    9.判断集合中是否有某个元素:boolean flag=col.contains(999);
    10.集合转为数组:Object arr=col.toArray();因为Collection的.toArray()方法返回值是Object所有用Object arr接
    再进行遍历取值:for(inti=0;i<arr.length;i++){system.out.println(arr[i])};
    11.Collection获取集合内的元素是通过迭代器实现的:迭代器对象Iterator会先对Collection进行判断用.hasnext()方法进行判断如果有就返回true没有就返回false;
    如果.hasNext()返回的是true那么再调用.next()方法把Collection中的值取出来,迭代器取值是判断一次去一次值;然后再判断再取值
    12.Collection<String> col=new ArrayList<String>(); it.add("你好");
    取值需要先获取迭代器对象:Iterator<String> it=col.iterator();调用Collection的对象col调取iteartor()方法获取迭代器对象;再赋值给it;迭代器Iterator的泛型要和 Collection要被遍历的集合一样;it.hasNext()是判断集合中是否还有值有就返回true再调用it.next()方法取值,没有就返回false然后结束
    13.利用迭代器循环取值:while(it.haxnext()){system.out.println(it.next())};while循环里面条件只有true和false那么默认就true所以it.haxnext()就是it.haxnext()==true
    14.利用判读字符内容来取值:while(it.hasnext()){String str="哪吒";if(str.equals("哪吒")){system.out.println(str)}判断字符是哪吒后再输出;一定先定义和变量;再判断输 出变量;因为collection是先判断有没有值然后再取值的所以的先定义个变量str接收了才能保存住要不然输出的是下一个值
    15.Collection col=new ArrayList();//如果不加泛型,就可以什么都向集合存
    col.add(123);//不加泛型系统自动把值提升为object类型
    col.add("123");
    col.add(123.456);
    //获取迭代器对象
    Iterator it=col.iterator();//因为上面的集合没写泛型所以这里迭代器对象也不写泛型
    while(it.hasNext()){
    Object obj=it.next();//因为集合里没写泛型值都生成Object;所以这里也用Object来接
    if(obj instanceof String){
    String s=(String)obj;//转成字符串
    System.out.println(s.length());
    }
    }

  • 相关阅读:
    Live2D 看板娘
    Live2D 看板娘
    python框架☞Flask
    Python框架☞Django
    Python ORM框架之SQLALchemy
    HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
    【F12】修改 DevTools的主题
    【F12】网络面板
    【正在等待可用套接字】解决方法
    nginx反向代理压测问题记录
  • 原文地址:https://www.cnblogs.com/hankai2735/p/11331857.html
Copyright © 2011-2022 走看看