美文网首页
集合框架

集合框架

作者: 沫晴er | 来源:发表于2017-09-13 19:21 被阅读0次

    集合框架,代表和操纵集合的统一框架.

    collection 采用线性列表存储方式.

    collection接口及子类一次只能存放一个元素.

    //定义一个集合

    Collection coll1 = new ArrayList();

    //有序不唯一的集合(可变长度的动态数组)

    coll1.add(123);

    coll1.add("abc");

    Collection coll2 = new ArrayList();

    coll2.add("abc");

    coll2.add(coll1);

    coll2.remove("abc");

    //查找coll1是否有123这个数据

    boolean con = coll1.contains(123);

    String msg = con == true?"存在":"不存在";

    //取集合交集i  保利共有的元素,去掉不同的元素

    boolean con1 = coll1.retainAll(coll2);

    if (con1) {

    System.out.println("取交集后得结果:");

    System.out.println("coll1"+coll1);

    System.out.println("coll2"+coll2);

    }

    //集合转数组

    Object[] obj = coll1.toArray();

    System.out.println(Arrays.toString(obj));

    System.out.println(coll1.size());

    //集合迭代遍历

    Iterator i = coll1.iterator();

    while (i.hasNext()) {

    System.out.println(i.next());

    Arraylist  有序重复的

    ArrayList作为数组,根据下标进行操作,查询和修改的速度是很快的

    ArrayList list = new ArrayList();

    list.add("1");

    System.out.println(list.size());

    list.add(2);

    System.out.println(list.size());

    list.add(3.0);

    System.out.println(list.size());

    //修改数据

    list.set(1, "二");

    //根据索引(下标)查看list集合的数据

    System.out.println(list.get(1));

    //删除

    list.remove(2);

    //遍历

    for (int i = 0; i < list.size(); i++) {

    System.out.println(list.get(i));

    }

    //增强型for 循环 Iterable接口 iterator 迭代器

    for (Object o : list) {

    System.out.println(o);

    }

    //3.迭代器

    Iterator i = list.iterator();

    while (i.hasNext()) {

    System.out.println(i.next());

    总结:ArrayList作为动态数组,根据下表进行元素操作.查询和修改的速度是很快的

    LinkedList list1 = new LinkedList();

    list1.addFirst(1);//将数据添加到队伍的首位

    list1.addLast(3);

    //LinkedList作为链表式存储数据,根据俩端的位置进行数据操作,再添加和删除上明显占据优势

    //但是因为是俩端叠加操作,查找和修改

    //集合遍历:提供三种方案 for foreach(增强型for)Iterator

    //for循环你在进行循环的时候对于集合数据不能删除

    //Iterator 是所有集合遍历的统一标准

    hashset:

    HashSet set = new HashSet();

    set.add("1");

    set.add("3");

    set.add("2");

    //存值与取值顺序不同 不能存储重复数据

    for (Object o : set) {

    System.out.println(o);

    }

    //set集合存取值无序:set集合存值的时候,会根据hashcode码进行存值的

    //不能存重复的值

    //set集合存储数据一块hash算法中的key-value进行存储,其实set用key进行存储

    /**

    * set接口存值取值特点:

    * 1.无序,不重复

    * 2.set接口没有获取单个元素,或者修改元素的方法

    */

    Hashmap

    //定义集合

    HashMap map = new HashMap();

    //添加元素

    map.put("lo003","张三");

    //遍历

    Set set = map.keySet();//获取所有的key

    Collection collection = map.values();//获取所有的value

    Set set1 = map.entrySet();//同时获取所有的key和value

    Iterator i =set1.iterator();

    while (i.hasNext()) {

    System.out.println(i.next());

    相关文章

      网友评论

          本文标题:集合框架

          本文链接:https://www.haomeiwen.com/subject/knylsxtx.html