java set类_JAVA-集合类型Set常用操作例子(基础必备)

package com.net.xinfang.reflect;

import java.util.Comparator;

import java.util.HashSet;

import java.util.Iterator;

import java.util.Set;

import java.util.TreeSet;

/***

* Set集(HashSet)

*

* @author xinfang

*

*/

public class set008 {

public void set() {

Set set = new HashSet();

set.add("1");// 添加元素

set.add("2");

set.remove("1");//移除元素

set.contains("2");//判断是否包含元素

set.equals("2");//判断是否有与2相等的元素

set.size();//获取set的尺寸

set.isEmpty();//判断是否为空,为空-false

set.hashCode();

set.toArray();//转换为数组

// Iterator迭代遍历

Iterator it = set.iterator();

while (it.hasNext()) {

System.out.println(it.next());

}

// for增强遍历

for (String st : set) {

System.out.println(st);

}

// TreeSet默认排序

Set se = new TreeSet();

se.add("f");

se.add("a");

se.add("b");

se.add("c");

se.add("d");

se.add("e");

System.out.println(se);

}

// 倒序输出

public void dxSort() {

Set set = new TreeSet(new MyComparator());

set.add("a");

set.add("b");

set.add("c");

set.add("d");

set.add("e");

set.add("A");

for (Iterator iterator = set.iterator(); iterator.hasNext();) {

System.out.print(iterator.next() + " ");

}

}

// 定义新实例

public void newSet() {

Set set = new TreeSet(new PersonComparator());

Person p1 = new Person(10);

Person p2 = new Person(20);

Person p3 = new Person(30);

Person p4 = new Person(40);

set.add(p1);

set.add(p2);

set.add(p3);

set.add(p4);

for (Iterator iterator = set.iterator(); iterator.hasNext();) {

System.out.print(iterator.next().score + " ");

}

}

public static void main(String args[]) {

set008 set8 = new set008();

set8.set();

set8.dxSort();

set8.newSet();

}

}

class MyComparator implements Comparator {

@Override

public int compare(String o1, String o2) {

return o2.compareTo(o1);// 降序排列

}

}

class Person {

int score;

public Person(int score) {

this.score = score;

}

public String toString() {

return String.valueOf(this.score);

}

}

class PersonComparator implements Comparator {

@Override

public int compare(Person o1, Person o2) {

return o1.score - o2.score;//升序排列

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值