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)
上一篇 2022年6月23日 下午9:16
下一篇 2022年6月23日 下午9:16


相关推荐

  • tf.placeholder函数说明

    tf.placeholder函数说明函数形式:tf.placeholder(dtype,shape=None,name=None)参数:dtype:数据类型。常用的是tf.float32,tf.float64等数值类型 shape:数据形状。默认是None,就是一维值,也可以是多维(比如[2,3],[None,3]表示列是3,行不定) name:名称为什么要用placeh…

    2022年7月26日
    5
  • CSS命名规范

    CSS命名规范

    2021年11月16日
    68
  • 操作系统栈溢出检测之ucosII篇[通俗易懂]

    操作系统栈溢出检测之ucosII篇[通俗易懂]操作系统栈溢出检测之uc/osII篇Author              :     DavidLin(林鹏)E-mail               :       linpeng1577@gmail.com                                    linpeng1577@163.com 158820224344@163.co

    2022年5月8日
    117
  • 【源力觉醒 创作者计划】文心开源大模型ERNIE-4.5私有化部署保姆级教程与多功能界面窗口部署

    【源力觉醒 创作者计划】文心开源大模型ERNIE-4.5私有化部署保姆级教程与多功能界面窗口部署

    2026年3月12日
    2
  • 使用Sigar采系统信息

    使用Sigar采系统信息nbsp 简介 Sigar SystemInform 开源的跨平台系统信息收集工具 C 语言实现 可以监控服务器性能信息 例如 cpu mem disk 等使用信息 nbsp 下载 nbsp Hyperic hq 官方网站 http www hyperic comSigar jar 下载地址 http sigar hyperic com nbsp 使用

    2026年3月18日
    1
  • 网路层协议——IGMP协议「建议收藏」

    网路层协议——IGMP协议「建议收藏」一、组播地址1、IP多播的基本概念①IP多播(以前曾译为组播)已成为互联网的一个热门课题。目的:更好地支持一对多通信,网络中的带宽压力。●一对多通信:一个源点发送到许多个终点。例如,实时信息的交付(如新闻、股市行情等),软件更新,交互式会议及其他多媒体通信。2、组播IP地址的特点①它使用D类IP地址作为目的地址。②组播数据包不产生ICMP差错报文。③组播地址只能用于目的地址而不能用于源地址。3、组播MAC地址…

    2025年11月15日
    8

发表回复

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

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