Set集合用法

Set集合用法性质底层采用哈希表算法,无序不可重复数组去重publicstaticString[]removeRepeat(String[]array){ Set<String>set=newHashSet<>(); for(inti=0;i<array.length;i++){ set.add(array[i]);…

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

性质

底层采用哈希表算法,无序不可重复

数组去重

    public static String[] removeRepeat(String[] array){
		Set<String> set = new HashSet<>();
		for(int i = 0; i < array.length; i++){
			set.add(array[i]);
		}
		String[] arr = set.toArray(new String[set.size()]);
		return arr;
	}
	
	public static void main(String[] args) {
		String[] arr = {"java","java","C++","python"};
		String[] arr2 = removeRepeat(arr);
		System.out.println(Arrays.toString(arr2));
	}

Set集合用法

 

集合去重

        List<String> list = new ArrayList<>();
		list.add("aa");
		list.add("aa");
		list.add("bb");
		list.add("cc");
		list.add("cc");
		System.out.println("去重前list:"+list);
		Set<String> set2= new HashSet<>();
		set2.addAll(list);
		System.out.println("set2:"+set2);
		list.clear();
		list.addAll(set2);
		System.out.println("去重后list:"+list);

Set集合用法

 

TreeSet自动排序

实体类必须实现Comparable接口并重写CompareTo方法,编写排序规则(升序、降序)

public class SetTest {

	public static void main(String[] args) {

		Set<Person> set3 = new TreeSet<>();
		set3.add(new Person("Daniel",22));
		set3.add(new Person("Eddie",21));
		set3.add(new Person("Jesska",20));
		System.out.println(set3);

	}
}

class Person implements Comparable<Person>{
	
	String name;
	int age;
	
	public Person() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}
	
	
	public String getName() {
		return name;
	}

	public int getAge() {
		return age;
	}

	@Override
	public int compareTo(Person arg0) {
		return this.age - arg0.getAge();
	}
}

 

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133014.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 2021年7月整理–简单方法 暴力激活成功教程WIFI密码

    2021年7月整理–简单方法 暴力激活成功教程WIFI密码2021年7月整理–简单方法暴力激活成功教程WIFI密码很多人都面临过短期租房、短期出差、住院而没有WIFI可用等境遇,有的是宽带太多办不起、有的是临时一阵子不值得折腾、有的是运营商不给扯线等等原因。然后就用手机下载了WIFI智能钥匙等APP,然后发现卵用么有,根本没有人共享自家WIFI密码给你用。以下是按步骤整理的软件和详细教程笔记本电脑+软件暴力激活成功教程出的密码我亲身用这个软件解开N多个密码此软件是家用路由器安全审计工具,切勿用作非法用途!!!….

    2022年10月13日
  • 十分钟学会摩尔斯密码

    我写这篇文章有四个原因:一,我的英文名字是samuel,大学的时候上外教课英文名字必须要有,最早的时候查过好像是圣经里的学者和预言家,我读三国志灵帝时期有个太史令叫单飏(shàn-yáng)的祖上,也准确预言到了黄龙再世的时间和地点,作为曹丕代汉的佐证之一。所以想都没想这个名字最适合我。二,我学的是通信工程专业,通信行业的鼻祖有一个叫samuel.Morse的发明了摩尔斯电码,具有划时代意义,…

  • Laravel中用GuzzleHttp

    Laravel中用GuzzleHttp

    2021年10月24日
  • [数据库] 第一范式、第二范式、第三范式、BC范式

    [数据库] 第一范式、第二范式、第三范式、BC范式数据描述术语对应表关键码完全依赖、部分依赖、传递依赖第一范式、第二范式、第三范式

  • ioctl() FIONREAD 检测socket是否有数据可读

    ioctl() FIONREAD 检测socket是否有数据可读先看看FIONREAD的作用FIONREAD:Getthenumberofbytesintheinputbuffer获取接收缓存中数据的字节数项目中用来判断tcpsocket是否有数据接收到,但是出现了一个问题,对于用于accept的socket即调用listen()之后的socket,用FIONREAD,判断的时候报错,ioctl()返回-1,错误码是2…

  • pycharm中文语言包下载不了_pycharm基本使用方法

    pycharm中文语言包下载不了_pycharm基本使用方法本文为原文转载PyCharmproforMac(编程开发软件)​www.mac69.com安装完成后运行,进行基本的配置后会弹出激活窗口,选择「Evaluateforfree」,然后点击「Evaluate」按钮。PyCharmproforMac(编程开发软件)安装完成后运行,进行基本的配置后会弹出激活窗口,选择「Evaluateforfree」,然后点击「Evaluate」按钮…

发表回复

您的电子邮箱地址不会被公开。

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