zoukankan      html  css  js  c++  java
  • 关于List对象的重复项清除和倒序处理

    List对象是Android开发中需要常用到的一个东东。

    private List<String> li = null;
    li.add("abc");
    li.add("123");
    li.add("def");
    li.add("123");
    li.add("xyz");
    for (int i=0; i<li.size()-1; i++){
    System.out.println(li.get(i));
    }

    然后就可以将li中的条目逐一输出出来了:(“abc”, “123”, “def”, “123”, “xyz”)

    如果想剔除li中重复的item,则可以通过如下函数实现:

        public static List<String> removeDuplicateWithOrder(List<String> list) {
    Set<Object> set = new HashSet<Object>();
    List<String> newList = new ArrayList<String>();
    // list = reverseList(list);
    for (Iterator<String> iter = list.iterator(); iter.hasNext();) {
    Object element = iter.next();
    if (set.add(element))
    newList.add(element.toString());
    }
    // newList = reverseList(newList);
    return newList;
    }

    通过调用上面的函数:private List<String> li2 = removeDuplicateWithOrder(li),然后通过一个循环输出li2的items:
    (“abc”, “123”, “def”, “xyz”)

    如果想要倒序剔除,则还需要一个倒序函数:

        public static List<String> reverseList(List<String> list) {
    List<String> revList = new ArrayList<String>();
    for(int i=list.size()-1; i>=0; i--){
    revList.add(list.get(i));
    }
    return revList;
    }

    测试的时候,将removeDuplicateWithOrder中的两行注释放开就可以了,然后输出序列为:(“abc”, “def”, “123”, “xyz”)
    即先倒序删除重复的,然后再次倒序回来。

  • 相关阅读:
    mysql免安装版配置+navicat测试
    查询SQL Version详细信息
    拆分数据库测试之--收缩数据库
    测试拆分比较大SQL Server数据库
    SQL捕捉blocking信息
    T-SQL 重复读(Double Read)问题的理解
    Node.js版-七夕无事,人艰勿拆,求别说...
    css实现三角箭头(兼容IE6)
    前端开发的基础知识点摘要
    jQuery原理系列-常用Dom操作
  • 原文地址:https://www.cnblogs.com/wzc0066/p/2948252.html
Copyright © 2011-2022 走看看