• 有关Java集合的区别,和常用方法的总结


    集合:
    在编程中,我们需要管理很多对象集,比如某班全部的同学信息,某个公司的人员资料等等。JAVA集合就是提供某种数据结构的支持,即存放对象,并让这些对象按照某种数据结构存放。


    集合与数组的区别:

    1. 数组存放的元素个数是在定义数组时固定的。
      集合可以通过方法添加、删除元素、
    2. 数组存放的类型是统一的。
      集合存放的类型可以不统一。

    Collection是List和set的父接口,封装了子接口List与Set的常用方法
    List中最常用的两个子类:ArrayList和LinkedList
    Set中最常用的两个子类:HashSet和TreeSet
    Map中最常用的两个子类:HashMap和TreeMap

    List中的常用方法:
    size():  查看集合大小,即长度
    add():  向集合中添加数据
    get():   通过下标获取集合中的数据
    set(int index, E element):   通过下标修改集合中的数据


    remove():  通过下标或值修改集合中的数据,如果参数是值,那么只删除第一个是该值的数据
    clear():    清除集合中的所有数据
    contains():   判断集合中是否包含某个数据

    List的遍历方式:
    for循环:

    for(int i = 0 ; i < list.size() ; i ++){
      System.out.println(list.get(i));
    }

    foreach循环

    for(Object o : list){
      System.out.println(o);
    }

    iterator迭代器循环

    Iterator iter = list.iterator();
      while(iter.hasNext()){
      System.out.println(iter.next());
    }

    使用迭代器循环要注意一点:如果集合中存储的是对象,那么循环中不能出现两次以上的iter.next()语句,因此,需要先定义一个对象接收循环出来的值,再使用对象调用属性进行打印,代码如下:

    Iterator iter = list.iterator();
      while(tier.hasNext()){
      Student stu = tier.next();
      Sytem.out.println("学生姓名:" + stu.name + "学生年龄:" + stu.age);
    }

    ArrayList集合的遍历

    package com.qianfeng.test;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    /*
     * ArrayList:有序的,可以重复的.
     *         要求:用ArrayList存储数据,但是有序的,不重复的.
     * 
     */
    
    public class Demo6 {
        public static void main(String[] args) {
            ArrayList list = new ArrayList<>();
            list.add("java1");//第一个
            list.add("java2");//第二个
            list.add("java2");//第三个
            list.add("java4");
            list.add("java5");
            list.add("java6");
            //去重
            //创建一个临时的集合用于存储去重后的元素
            ArrayList list1 = new ArrayList<>();
            //遍历list
            Iterator iterator = list.iterator();
            while (iterator.hasNext()) {
                String string = (String) iterator.next();
                //当list1中没有string的时候,就添加进去
                //如果新的集合中不包含当前的元素,就将当前的元素添加进去
                /*
                 * 原理:在添加新元素的时候,返回调用元素的equals方法,去比较,所有的都返回false,整体认为是false.有一次比较
                 * 返回true,整个contains的结果就是true
                 * 
                 * 添加第三个元素的过程:
                 * 第三个元素.equels("java1") = false  继续比  第三个元素.equels("java2") = true  停止比较
                 */
                if(!list1.contains(string)) {
                    list1.add(string);
                }
            }
            System.out.println(list1);
        }
    }
  • 相关阅读:
    ssd 的anchor生成详解
    Qt小技巧8.利用反射机制通过类名创建Qt对象
    项目经验2.需求才是王道
    Qt实战12.可自由展开的ToolBox
    Qt实战11.进程窗口集成之假装写了个第三方软件
    Qt小技巧7.Qt4集成fusion风格
    Qt杂谈3.快速体验Qt for Android(windows平台)
    Qt实战10.支持最小化和最大化的QDockWidget
    gitlab 拉取远程分支代码
    CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解
  • 原文地址:https://www.cnblogs.com/yimting/p/9863047.html
Copyright © 2020-2023  润新知