`

去除List中重复值的方法小结

    博客分类:
  • java
 
阅读更多

package com.test;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import org.junit.Test;

/**
* List去除重复值
* @author hyf
* @since 1.7.5
*/
public class TestListRepeat {

    @Test
    public void method1() {
        String[] str = { "jj", "aa", "yy", "jj", "aa", "yy",  "chou" };
        ArrayList list = new ArrayList();
        for (int i = 0; i < str.length; i++) {
            list.add(str[i]);
        }
        System.out.println("method1运行前");
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i) + "  ");
        }
        System.out.println("");

        /**
         * set方法去除list中重复的数据 set中插入重复的值只保留一个
         */
        HashSet set = new HashSet(list);
        list.clear();
        list.addAll(set);
        System.out.println("method1运行后:" + list);
    }

    @Test
    public void method2() {
        String[] str = {"jj", "aa", "yy", "jj", "aa", "yy", "&&", "chou"};
        ArrayList list = new ArrayList();
        for (int i = 0; i < str.length; i++) {
            list.add(str[i]);
        }
        System.out.println("method2运行前");
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i) + " ");
        }
        System.out.println("    ");

        /**
         * 去除list中重复的数据
         */
        Set set = new HashSet();
        List newList = new ArrayList();
        for (Iterator iter = list.iterator(); iter.hasNext();) {
            Object element = iter.next();
            if (set.add(element)) {
                newList.add(element);
            }
        }
        list.clear();
        list.addAll(newList);
        System.out.println("method2运行后:" + list);
    }

    @Test
    public void method3() {
        String[] str = { "11", "22", "33", "11", "22", "33", "77", "77", "88", "88", "99" };
        ArrayList list = new ArrayList();
        for (int i = 0; i < str.length; i++) {
            list.add(str[i]);
        }
        System.out.println("method3运行前");
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i) + " ");
        }
        System.out.println(" ");

        /**
         * 普通的方法去除list中重复的数据
         */
        for (int i = 0; i < (list.size() - 1); i++) {
            for (int j = list.size() - 1; j > i; j--) {
                if (list.get(j).equals(list.get(i))) {
                    list.remove(j);
                }
            }
        }

        System.out.println("method3运行后:");
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i) + " ");
        }
    }
}
分享到:
评论

相关推荐

    Python实现去除列表中重复元素的方法小结【4种方法】

    本篇文章将详细介绍四种在Python中实现去除列表重复元素的方法,每种方法都有其适用场景和特点。 1. **使用集合(Set)** 集合是Python内置的数据结构之一,它是一个无序的不重复元素序列。我们可以利用集合的特性...

    Python list列表中删除多个重复元素操作示例

    **问题分析**:`remove()` 方法仅删除列表中首次出现的指定值,因此无法完全移除所有重复元素。 **解决办法**:不建议使用简单的 `remove()` 方法来删除所有重复元素。 ##### 2.2 使用 `for` 循环尝试删除所有重复...

    这些年、我收集的JQuery代码小结

    《这些年,我收集的JQuery代码小结》 在网页开发中,jQuery作为一个强大的JavaScript库,极大地简化了DOM操作、事件处理以及动画效果的实现。本文将总结一些实用的jQuery代码片段,帮助开发者提高效率,优化代码...

    Python中的一些陷阱与技巧小结

    当需要同时访问列表的索引和值时,使用`enumerate()`函数可以避免使用`range(len(list))`的传统方法。这不仅使代码更加简洁,而且易于理解。 ```python drinks = ["coffee", "tea", "milk", "water"] for index...

    jQuery常用数据处理方法小结

    ### jQuery常用数据处理方法小结 #### 1. 检测数据类型方法 - **$.isArray()**: 此方法用于判断传入的参数是否为数组类型。是数组则返回true,否则返回false。例如: ```javascript var array = [1, 2, 3]; if...

    Python字典遍历操作实例小结

    如果需要去除遍历过程中可能出现的重复值,可以转换为集合(set),因为集合中的元素是唯一的: ```python dict = {'evaporation': '蒸发', 'carpenter': '木匠', 'millman': '木匠'} print('【包含重复】', list...

    PHP 数组入门教程小结

    - `array_unique()` 去除数组中的重复元素,返回一个新的数组。 8. 排序数组: PHP提供了多种排序数组的方法,如: - `sort()` 对数值数组进行升序排序。 - `rsort()` 对数值数组进行降序排序。 - `asort()` ...

    python基础知识小结之集合

    ### Python基础知识小结之集合 在Python编程语言中,集合是一种非常重要的数据类型,它具有独特的性质和多种应用场景。本文将详细介绍Python集合的基础知识,帮助读者更好地理解和掌握集合的使用方法。 #### 一、...

    python入门到高级全栈工程师培训 第3期 附课件代码

    03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用层 第2章 01 上节课复习 02 arp协议复习 03 字符编码 第3章 01 网络基础和dos命令 02 为何学习...

    python基础教程之实现石头剪刀布游戏示例-电脑资料.docx

    #### 小结 通过本示例的学习,初学者可以掌握如何使用Python实现简单的交互式游戏。同时,这也是一个很好的实践机会,可以帮助加深对Python基础知识的理解,如变量、数据类型、控制结构等。此外,还可以进一步探索...

    arcgis工具

    29.Select by location小结 按位置查找要素的方法 使用按位置选择(Select By Location) 对话框,可以根据要素间的相对空间位置进行查找。可以使用多种方法,查找在同一图层中或不同图层间相互邻近或叠置的点、...

    Hibernate学习资料(离线查询)

    为了去除重复的结果,可以使用`setResultTransformer`方法,例如: ```java crite.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); ``` 这样处理后的结果集将只包含唯一的根实体对象。 #### 动态查询 在...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    1.10 小结 24 第2章 SQL执行 25 2.1 Oracle架构基础 25 2.2 SGA-共享池 27 2.3 库高速缓存 28 2.4 完全相同的语句 29 2.5 SGA-缓冲区缓存 32 2.6 查询转换 35 2.7 视图合并 36 2.8 子查询解嵌套 39 2.9 ...

    Java范例开发大全 (源程序)

     实例80 如何使用charAt()方法计算重复字符 109  实例81 按字母顺序比较大小 110  实例82 首尾相连 111  实例83 字符串间的比较 112  实例84 字符集的解码方法 113  实例85 寻找指定字符第一次出现的位置...

    java范例开发大全(pdf&源码)

    实例80 如何使用charAt()方法计算重复字符 109 实例81 按字母顺序比较大小 110 实例82 首尾相连 111 实例83 字符串间的比较 112 实例84 字符集的解码方法 113 实例85 寻找指定字符第一次出现的位置 114 实例86 寻找...

    java范例开发大全源代码

     实例80 如何使用charAt()方法计算重复字符 109  实例81 按字母顺序比较大小 110  实例82 首尾相连 111  实例83 字符串间的比较 112  实例84 字符集的解码方法 113  实例85 寻找指定字符第一次出现...

    java范例开发大全

    实例80 如何使用charAt()方法计算重复字符 109 实例81 按字母顺序比较大小 110 实例82 首尾相连 111 实例83 字符串间的比较 112 实例84 字符集的解码方法 113 实例85 寻找指定字符第一次出现的位置 114 实例86 寻找...

    Java范例开发大全(全书源程序)

    实例80 如何使用charAt()方法计算重复字符 109 实例81 按字母顺序比较大小 110 实例82 首尾相连 111 实例83 字符串间的比较 112 实例84 字符集的解码方法 113 实例85 寻找指定字符第一次出现的位置 114 实例86...

Global site tag (gtag.js) - Google Analytics