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所示

posted @ 2014-07-21 16:24  TimeStory  阅读(6955)  评论(0编辑  收藏  举报