杂谈记录——利用set求交集
Posted 唐 昊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了杂谈记录——利用set求交集相关的知识,希望对你有一定的参考价值。
关键字 retainAll
package com.qqq.cc;
import java.util.*;
public class TestSetMixed
public static void main(String[] args)
Set<Tm> set = new HashSet<>();
Set<Tm> set1 = new HashSet<>();
Set<Tm> set2 = new HashSet<>();
Set<Tm> set3 = new HashSet<>();
Tm as = new Tm(1, "as");
Tm a1 = new Tm(2, "as");
Tm a2 = new Tm(3, "as");
set1.add(as);
set2.add(as);
set3.add(as);
set.addAll(set1.size()>0?set1:set2.size()>0?set2:set3);
if(set1.size() > 0 )
set.retainAll(set1);
if(set2.size() > 0 )
set.retainAll(set2);
if(set3.size() > 0 )
set.retainAll(set3);
for (Tm tm : set)
System.out.println(tm);
public void check(Set<String> set)
class Tm
int index;
String val;
public Tm(int a,String b)
this.index = a;
this.val = b;
@Override
public boolean equals(Object o)
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Tm tm = (Tm) o;
return index == tm.index;
@Override
public int hashCode()
return Objects.hash(index);
@Override
public String toString()
return "Tm" +
"index=" + index +
", val='" + val + '\\'' +
'';
Tmindex=1, val=‘as’
以上是关于杂谈记录——利用set求交集的主要内容,如果未能解决你的问题,请参考以下文章
UVALive 6911 Double Swords (Set,贪心,求区间交集)