java数组去重_JAVA数组去重常用方法

java数组去重_JAVA数组去重常用方法packagecom.zxj.test;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.HashMap;importjava.util.List;importjava.util.Map;publicclassTest{publicstaticvoidmain(String[]args){String…

大家好,又见面了,我是你们的朋友全栈君。

packagecom.zxj.test;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.HashMap;importjava.util.List;importjava.util.Map;public classTest {

public static void main(String [] args) {

String [] arrStr = {“Java”, “C++”, “Php”, “C#”, “Python”, “C++”, “Java”};

test1(arrStr);

test2(arrStr);

test3(arrStr);

test4(arrStr);

}

//方法1:通过List去重

public static void test1(String [] arrStr) {

List list = new ArrayList<>();

for (int i=0; i

if(!list.contains(arrStr[i])) {

list.add(arrStr[i]);

}

}

System.out.println(list);

//返回一个包含所有对象的指定类型的数组

//String[] newArrStr = list.toArray(new String[1]);

//System.out.println(Arrays.toString(newArrStr));

}

//方法2:通过Map去重

public static void test2(String [] arrStr) {

Map map = new HashMap<>();

for (String str : arrStr) {

map.put(str, str);

}

System.out.println(map.keySet());

}

//方法3:通过Set去重

public static void test3(String [] arrStr) {

Set set = new HashSet<>();

for (String str : arrStr) {

set.add(str);

}

System.out.println(set);

}

//方法4:通过lambda去重(jdk1.8)

public static void test4(String [] arrStr) {

Stream stream = Arrays.stream(arrStr);

List list = stream.distinct().collect(Collectors.toList());

System.out.println(list);

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149743.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 抽象工厂设计模式例题_什么是抽象工厂模式

    抽象工厂设计模式例题_什么是抽象工厂模式定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别       抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,表现为一个接口或者抽

    2025年7月3日
    3
  • 第十三周周记

    第十三周周记

    2021年9月15日
    50
  • cultural context_servlet访问路径

    cultural context_servlet访问路径绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程

    2022年9月17日
    2
  • 下载网络直播,多个ts文件下载与合并

    下载网络直播,多个ts文件下载与合并一、chrome与迅雷批量下载视频进入录播回放的页面,右键审查元素,选择network,可以知晓目前的文件活动情况。首先出来的是第一个ts文件,如图所示:472.ts,这个是第一个文件。把进度条拉动到最后面,会下载最后一个文件,如1850.ts。接下来可以使用迅雷的批量下载功能。如:http://www.baidu.com/abc001.ts文件,把格式改为http://www.b…

    2022年7月18日
    21
  • C语言中数组超出范围,检测数组下标边界是否超出范围解决方案

    C语言中数组超出范围,检测数组下标边界是否超出范围解决方案C/C++codetemplateclassArray;templateclassArrayBody{friendclassArray;T*tpBody;intiRows,iColumns,iCurrentRow;ArrayBody(intiRsz,intiCsz){tpBody=newT[iRsz*iCsz];iRows=iRsz;iColumns=iCsz…

    2022年10月18日
    2
  • 基于gitlab的CICD流程规范

    基于gitlab的CICD流程规范前言:这篇文章主要讲一讲基于gitlab的CICD流程规范基于gitlab的CICD流程规范一、简介二、CICD流程图三、CICD说明四、结合CICD流程拓展1、业务代码-数据库基于flyway实现版本控制2、数据库版本控制3、二进制或内置五、代码质量检查及自动化测试(未来)六、疑问解答与加群交流学习一、简介为了提升线下测试效率,缩短测试时间,提升提测代码质量,规范流程,缩短测试准备和执行时间,缩短问题定位时间,提供预测性指标,规范CICD流程,以提升整体团队效率。二、CICD流程图三、CICD

    2022年6月14日
    110

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号