• java中list接口的用法


    list为继承自collection接口的接口,list里存储的值的类型通过list<object>泛型来声明;存值时调用ArrayList类的add方法,删除时调用用remove方法。list的很多方法与set很相似,但在存储结构上有区别,set的存储特点为无序和互异,相反的,list的存储特点为有序和存异

    package test_list;
    
    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Set;
    /**
     * @author Qiaofengbo
     * @time 2014年7月21日
     */
    public class Test_list {
        
        static List<String> lists1 = new ArrayList<String>();
        static Set<String> sets1 = new HashSet<>();
    
        public static void main(String args[]){
            save_to_list();
            bianli_lists1();
    
    //        bianli_lists1_iterator();
            loadElementsToSet(lists1);
            bianli_sets1();
        }
        /**
         * 往list里面存储值
         */
        public static void save_to_list(){
            lists1.add("1");
            lists1.add("2");
            lists1.add("3");
            lists1.add("");
            lists1.add("3");
            lists1.add("4");
            lists1.add("3");
            lists1.add("");
            lists1.add("4");
        }
        /**
         * 遍历list
         */
        public static void bianli_lists1(){
            for(String l1 : lists1){
                System.out.print(l1+"\t");
            }
            System.out.print("\n");
        }
        /**
         * 使用iterator遍历list
         */
        public static void bianli_lists1_iterator(){
            Iterator<String> ite = lists1.iterator();
            while(ite.hasNext()){
                System.out.print(ite.next()+"\t");
            }
        }
    
        /**
         * 把list里面的值装载道set中
         */
        public static Set<String> loadElementsToSet(List<String> list){
            for(int i = 0; i < list.size(); i++){
                for(int j = i+1; j < list.size(); j++){
                    if(list.get(i).equals(list.get(j))){
                        sets1.add(list.get(i));
                        continue;
                    }
                }
            }
            return sets1;
        }
    
        /** 
         * 遍历set
         */
        public static void bianli_sets1(){
            for(String s1 : sets1){
                System.out.print(s1+"\t");
            }
        }
    }

    面试题:

    找出list中重复的元素?
    分析:因为不知道list里面重复的元素的重复次数,所以,此处利用set容器互异性的特征,把list里面重复的元素放到set容器中,最后遍历set容器,找出list里面重复的元素。如方法loadElementsToSet和sets1所示

  • 相关阅读:
    Lua手册中的string.len 不解
    计算机词汇(Computer Glossary)
    Qt 信号和槽机制的优缺点
    多线程,什么时候该使用?
    Linux进行挂起和杀死挂起进程
    struct和class的区别
    Number of 1 Bits
    Pascal's Triangle
    Excel Sheet Column Title
    c++单向链表
  • 原文地址:https://www.cnblogs.com/TimeStory/p/3858679.html
Copyright © 2020-2023  润新知