`

Set专题:Set具有排重功能

 
阅读更多
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
/**
 * Set专题:Set具有排重功能
 * HashSet set的遍历方法只有一种,即迭代器
 * TreeSet具有元素自动排序功能
 * @author Administrator
 *
 */
public class Demo36 {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  /**
   * 遍历HashSet
   */
  Set set = new HashSet();
  set.add("gouchao");
  set.add("xuyongchao");
  set.add("gouli");
  set.add("gouchao");
  Iterator it = set.iterator();
  while(it.hasNext()){
   System.out.println(it.next());
  }
  //遍历TreeSet
  Set set2 = new TreeSet();//TreeSet能够对基本数据类型自动排序
  set2.add("gouchao");
  set2.add("xuyongchao");
  set2.add("zengxiangli");
  Iterator it2 = set2.iterator();
  while(it2.hasNext()){
   
   System.out.println(it2.next());
  }
  
  /**
   * 对TreeSet进行自定义排重
   */
  Student student = new Student();
  student.age= 100;
  Student stu2 = new Student();
  stu2.age = 1333;
  Student stu3 = new Student();
  stu3.age = 2444;
  Set set3 = new TreeSet();
  set3.add(student);
  set3.add(stu2);
  set3.add(stu3);
  Iterator it3 = set3.iterator();
  while(it3.hasNext()){
   
   System.out.println(((Student)it3.next()).age);
  }
 }
}
/**
 * 自定义排序方法
 * @author Administrator
 *
 */
class Student implements Comparable{
 
 public  int age ;
   
 public int compareTo(Object o) {
  // TODO Auto-generated method stub
  Student stu = (Student) o ;
  /*if(this.age>stu.age)
   return 1;
  else if(this.age<stu.age)
   return -1;
  else return 0 ;*/
  return -(this.age - stu.age);//this.age - stu.age 按照从小到大的年龄排序
  
 }
}
分享到:
评论

相关推荐

    计算机VFP的SET命令一览表.pdf

    14. SET COLOR SET:加载预定义的颜色集合,影响程序的视觉样式。 15. SET COMPATIBLE:控制VFP与其他FOXBASE+和XBASE语言的兼容性。 16. SET CONFIRM:指定在文本框中输入完成后是否自动确认并退出。 17. SET ...

    VFP的SET命令一览表.pdf

    14. SET COLOR SET:加载预定义的颜色集,改变程序界面的颜色方案。 15. SET COMPATIBLE:控制与FOXBASE+和XBASE语言的兼容性,使VFP能处理旧代码。 16. SET CONFIRM:确定在文本输入中,如何结束输入(例如,通过...

    stl_set.rar_STL 自己_STLset_theewh6

    4. **容量操作**:`set::empty()` 检查set是否为空,`set::size()` 返回set中的元素数量,`set::max_size()` 返回set能容纳的最大元素数量。 5. **迭代器操作**:set提供了迭代器来遍历其元素,例如`begin()` 和 `...

    Python集合(Set):一种无序、可变的数据结构

    for item in my_set: print(item) # 示例2 empty_set = set() fruits = {"apple", "banana", "cherry"} fruits.add("orange") fruits.remove("cherry") if "apple" in fruits: print("Yes, 'apple' is in the set...

    Rough set 软件:RSES

    一个很好的Rough set软件,可以进行属性约简,属性值约简,规则提起,离散化等处理。还带有很多UCI数据集。

    map和set的异同

    3. **高效性**:由于红黑树的特性,使得`map`和`set`在插入、删除和查找操作上都具有较高的效率。 4. **迭代器**:`map`和`set`支持迭代器遍历,使得用户可以方便地访问容器中的元素。 #### 四、不同点 1. **数据...

    C++标准库:std_set作为一个有序集合

    std::set是C++标准库中一个关联容器,实现内部元素的排序,使用这特性可以对一组元素进行插入排序。std::set最初的设计是完成数学中“集合”的概念,它提供的接口也是如此。 std::set的主要特点是:自动排序、关联...

    SET-MRTS:一种多处理器实时系统可调度性实验平台.pdf

    1. 多处理器实时系统可调度性实验平台:SET-MRTS 是第一个支持完整实验流程的可调度性实验平台,包括算法实现、参数配置、结果统计、图表绘制等。 2. 模块化架构设计:SET-MRTS 采用模块化架构设计,易于维护和扩展...

    前端开源库-unordered-set

    接下来,我们通过几个示例了解`unordered-set`的主要功能: 1. **创建无序集**:你可以通过传入一个数组或者另一个无序集来初始化一个新的无序集: ```javascript const mySet = new UnorderedSet([1, 2, 3, 4, ...

    用C++实现集合(Set)对象功能

    这里我们使用STL中的`std::set`作为底层数据结构,因为它自动处理元素的唯一性和排序。 ```cpp #include &lt;set&gt; class Set { private: std::set&lt;int&gt; elements; public: // 添加元素 void add(int value) { ...

    C语言头文件 SET C语言头文件 SET

    C语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言...

    DC工具中set_dont_touch和set_size_only的区别.doc

    但如果将 `set_dont_touch` 改为 `set_size_only` 作用于具体的 XOR2M4UP cell,那么综合工具可能会将 XOR2M4UP 替换为具有相同功能但驱动能力不同的 XOR2M2UP 或 XOR2M8UP 等,以适应电路的不同需求。 总结来说,`...

    Set-IntervalTree:在范围集上执行基于范围的查找

    名称Set :: IntervalTree-对范围集执行基于范围的查找版本版本0.12概要use Set::IntervalTree;my $tree = Set::IntervalTree-&gt;new;$tree-&gt;insert("ID1",100,200);$tree-&gt;insert(2,50,100);$tree-&gt;insert({id=&gt;3},520...

    set-UID实验报告

    实验报告中应当详细描述这些步骤,并探讨如何在实践中确保set-UID程序的安全性,例如限制程序功能,使用最小权限原则,以及进行充分的代码审计。 文件"lab1.doc"可能是实验报告的Word文档版本,包含详细的实验步骤...

    Set5 Set14数据集

    这些图像都是精心挑选的,具有丰富的纹理和细节,可以充分挑战超分辨率算法的能力。Set5的设计是为了提供一个基准,让研究人员可以比较不同超分辨率算法的性能。由于其小而精的特点,Set5常用于算法的快速验证和调试...

    Set词组的用法[参照].pdf

    Set词组在英语中是一个非常常见且多义的动词短语,经常出现在各种语境中,包括日常生活对话、书面表达以及技术文档等。在软件网络技术领域,理解和掌握Set词组的不同用法有助于更准确地进行沟通和技术文档的编写。...

    vi命令下set的用法

    `vi`命令是Linux系统中常用的文本编辑器,它的全称是`Vim`(Vi Improved),具有强大的编辑功能和高度可配置性。在`vi`中,`set`命令用于配置编辑器的行为和设置。这里我们将深入探讨`set`命令的一些常用选项以及...

    C++_STL之set容器使用方法

    2. **count(key)**:统计具有给定键值的元素数量,对于`set`来说总是返回0或1。 3. **lower_bound(key)**:返回指向第一个键值不小于`key`的元素的迭代器。 4. **upper_bound(key)**:返回指向第一个键值大于`key`的...

    set容器对类进行排序

    **插入元素到set:** ```cpp MyClass obj1(10), obj2(20); mySet.insert(obj1); mySet.insert(obj2); ``` 使用`insert`函数可以将`MyClass`对象添加到`set`中,由于我们已经定义了排序规则,`set`会自动按照规则进行...

    超分辨图像重建数据集(Set5,Set14,BSD100,URBAN100,MANGA109,DIV2K)共204M

    本数据集是为超分辨率重建算法的研究和开发而设计的,它包含了多个知名的图像数据集,如Set5、Set14、BSD100、URBAN100和MANGA109,以及一个大型训练集DIV2K。 首先,我们来看训练集DIV2K。这个数据集拥有大约2000...

Global site tag (gtag.js) - Google Analytics