JAVA数组去重实用方法

package cn.kgc.mybatisdemo.util;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Demo1 {

    public static void main(String[] args) {
        String [] num = {"Java", "C++", "Php","Python", "C#", "Python", "C++", "Java"};
        //通过list去重
        List<String> list = new ArrayList<String>();
        for (int i=0; i<num.length; i++) {
            if(!list.contains(num[i])) {
                list.add(num[i]);
            }
        }
        //返回一个包含所有对象的指定类型的数组
        String[] newArrStr =  list.toArray(new String[1]);
        System.out.println(Arrays.toString(newArrStr));
    }
}

java中list集合中contains()的用法为:

public boolean list.contains(Object o)

当前列表若包含某元素,返回结果为true, 若不包含该元素,返回结果为false。

contains()方法实现的具体细节为:

当list调用contains()方法并传递一个元素时,会执行遍历,逐个对比item是否等于该元素,当遍历结束后,如果还没有一个元素等于该元素的值,则返回false, 否则返回true

这是扩展:
List的contains(obj)方法

实际上,List调用contains(Object obj)方法时,会遍历List中的每一个元素,然后再调用每个元素的equals()方法去跟contains()方法中的参数进行比较,如果有一个元素的equals()方法返回true则contains()方法返回true,否则所有equals()方法都不返回true,则ontains()方法则返回false。因此,重写了Course类的equals()方法,否则,testListContains()方法的第二条输出为false。

最后把list转换成数组,然后输出;

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值