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所示
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。