美文网首页
java——集合-set

java——集合-set

作者: 打死你的小乌龟 | 来源:发表于2018-08-29 23:59 被阅读0次

Set接口

Set继承自Collection接口,set接口中的元素无序,不重复主要有两个实现类HashSet和TreeSet

HashSet集合

Set与List集合的存取方式一样
当向HashSet集合中添加一个对象时首先会调用对象的hashCode()方法来确定元素的存储位置,
然后在调用对象的equals()方法来确保该位置没有重复元素

TreeSet集合

内部采用自平衡的排序二叉树来存储元素
二叉树存储结构首元素放在第一然后进行对比小的放左边大的放右边
如果TreeSet存放对象类型的,必须使对象类型实现Comparable接口才能实现比较

Comparable和Comparator

Comparable
1、表示可以比较的(用于类实现)。
2、实现这个接口表示:这个类的实例可以比较大小,可以进行自然排序。
3、compareTo() 返回正数表示大,返回负数表示小,返回0表示相等。
4、Comparable的实现必须不equals()的结果一致,就是相等的对象时候,比较结果一定是0!
Comparator
1、比较工具。
2、用于临时定义比较规则,不是默认比较规则。

        案例:Comparator
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class CompareDemo {
public static void main(String[] args) {
演示 String 重写的compareTo()方法
int a = "Tom".compareTo("Jerry");
System.out.println(a);
a = "Tom".compareTo("Tom");
System.out.println(a);
a = "Jerry".compareTo("Tom");
System.out.println(a);
List<String> names = new ArrayList<String>();
names.add("Tom");
names.add("Jerry");
names.add("Black");
names.add("Andy");
names.add("Lee");
ByLength byLength = new ByLength();
演示 按照自定义比较规则排序
Collections.sort(names, byLength);
System.out.println(names);
}
}
class ByLength implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
return -(o1.length() - o2.length()); // 按照长度对比
}
}

相关文章

  • 聊聊Java中的Set -《Java语言程序设计进阶篇》读书笔

    Set是java集合框架中集合的一种。 java集合包括List,Set还有Queue。我们今天的主角就是Set。...

  • 集合(二)~Set

    一、Set集合概述和特点 1. Set集合概述和特点 java.util.Set 接口和 java.util.Li...

  • Java集合类初探

    参考原文 一 java集合类简介 1、java集合大致可以分为Set、List、Queue、Map四类。 Set:...

  • java常用方法

    java集合的方法:①Set set = new HashSet<>();②set.cont...

  • java常用方法

    java集合的方法:①Set set = new HashSet<>();②set.cont...

  • Java集合

    1、java 集合概述 Set :无序、不可重复的集合。 List : 有序、重复的集合。 Queue:Java ...

  • Java基础之集合框架

    一、Java集合类简介: Java集合大致可以分为Set、List、Queue和Map四种体系。 其中Set代表无...

  • JAVA集合

    java集合分类 Java集合大致可以分为Set、List、Queue和Map四种体系,其中Set代表无序、不可重...

  • Java基础

    Java集合框架 一、Java集合类简介: Java集合大致分为四种体系:Set:无序、不可重复的集合List:有...

  • Map集合的五种遍历方式及Treemap方法

    Map集合:链接: Map集合的五种遍历方式及Treemap方法Set集合:链接: Java中遍历Set集合的三种...

网友评论

      本文标题:java——集合-set

      本文链接:https://www.haomeiwen.com/subject/wxxxwftx.html