`

ArrayList按实体类排序

 
阅读更多
package com.yu.entity;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
//继承Comparable接口
public class SocketEntity implements Comparable<SocketEntity> {

	public static final int SEND_DATA = 1;	//发送数据
	public static final int GET_DATA = 2;	//获取数据
	public static final int DELETE_DATA = 3;	//删除数据
	public static final int DATA_BUFF = 1024;	//写入读取缓冲区
	
	public static final int FREE = 1;	//客户端空闲
	public static final int BUSY = 0;	//客户端忙碌
	
	private long frequency = 0L;	//使用频率
	
	private String name = null;		//客户端名称
	
	private Socket socket = null;	//客户端

	private int status = 0;		//服务状态 空闲FREE 忙碌BUSY
	
	OutputStream os = null;		//输出流	向客户端写数据
	
	InputStream is = null;		//输入流	向客户端读数据
	
	public SocketEntity(String name, Socket socket, int status) {
		this.name = name;
		this.socket = socket;
		this.status = status;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Socket getSocket() {
		return socket;
	}

	public void setSocket(Socket socket) {
		this.socket = socket;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public long getFrequency() {
		return frequency;
	}

	public void setFrequency(long frequency) {
		this.frequency = frequency;
	}

	public void frequencyAddition(){
		long frequency = this.getFrequency();
		this.setFrequency(frequency++);
	}
	
	public OutputStream getOs() {
		try {
			return this.getSocket().getOutputStream();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}

	public InputStream getIs() {
		try {
			return this.getSocket().getInputStream();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}

	@Override
	public int compareTo(SocketEntity o) {
		
		if (this.getFrequency() == o.getFrequency()){
			return 0;	//等于
		}else if (this.getFrequency() > o.getFrequency()){
			return -1;	//小于
		}else{
			return 1;	//大于
		}
	}
	
}

 调用方法如下:

Collections.sort(socketEntity);

 

分享到:
评论

相关推荐

    C#实体类和实体类集合的自动排序

    本文将深入探讨如何在C#中实现实体类和实体类集合的自动排序,以及如何将它们绑定到控件如DataGridView以支持排序功能。 首先,让我们了解什么是实体类。实体类是代表数据库表或服务API中的一个记录的类。它通常...

    如何实现Java的ArrayList经典实体类

    下面我们将深入探讨如何实现一个简化的 ArrayList 类——SimpleArrayList,以及涉及到的关键方法。 ### 构造器 SimpleArrayList 提供了两个构造器:一个无参构造器和一个带 int 参数的构造器。无参构造器默认创建...

    java对象排序

    例如,`String`类就实现了`Comparable`,按字典顺序比较字符串。 ```java public class MyObject implements Comparable&lt;MyObject&gt; { private int value; public int compareTo(MyObject other) { return this....

    Java员工管理系统,ArrayList存储

    1. **员工实体类(Employee)**:这是系统的基础,需要定义一个Employee类来封装员工的属性,如姓名、工号、部门、职位、薪资等。可以使用私有成员变量和getter/setter方法来实现封装。 2. **ArrayList存储**:在...

    Java实体类中Set按照对象的某个字段对set排序

    Java实体类中Set按照对象的某个字段对set排序 Java实体类中Set按照对象的某个字段对set排序是Java开发中的一种常见需求,特别是在实体类中使用Set集合存储数据时。这种需求主要是为了在查询出实体类对象时,可以...

    Excle读取数据转换为实体List【基于apache-poi】

    4. 处理读取结果:调用`readExcelToList`方法后,返回的是User实体类的List,你可以对这个List进行进一步的处理,如数据过滤、排序或保存到数据库等。 在提供的压缩包文件"cp-utils-excelreader"中,可能包含了用于...

    java中List对象列表实现去重或取出及排序的方法

    在Java中,想要去重List对象列表,首先需要重写实体类的equals和hashCode方法。equals方法用于比较两个对象是否相同,而hashCode方法用于计算对象的哈希码值。 例如,假设我们有一个Student类,想要去重Student对象...

    java中Collections.sort排序详解

    Collections.sort()方法通常用于对列表进行排序,例如对ArrayList、LinkedList、Vector等列表类型进行排序。该方法的签名为: `public static &lt;T&gt; void sort(List&lt;T&gt; list, Comparator&lt;? super T&gt; c)` 其中,list...

    Java对List进行排序的两种实现方法

    本文将详细介绍两种在Java中对List进行排序的方法:实体类实现Comparable接口和使用Comparator接口。 首先,我们来了解一下基本背景。Java的`java.util.List`接口是`java.util.Collection`接口的一个子接口,用于...

    java 中如何从LIST 对象取值

    `List`的一个主要特点是它可以包含重复元素,并且元素按插入顺序排序。Java标准库提供了几种实现`List`接口的类,如`ArrayList`、`LinkedList`和`Vector`等。其中,`ArrayList`是最常用的实现之一,它基于动态数组...

    30重点面试题-Fu1

    实体类如HashSet实现了Set接口,保证元素唯一性,TreeSet则可以按特定顺序排序。 - Map:键值对的映射,键唯一,值可重复,如HashMap、TreeMap。实体类如HashMap实现了Map接口,提供键值对的快速存取,TreeMap则...

    sheet exec java poi

    "List列表内部对象某些参数的排序"是指在Java中,使用List接口的实现类(如ArrayList或LinkedList)存储对象,并根据这些对象的某个属性或参数进行排序。这通常通过实现Comparable接口或者使用Comparator接口来实现...

    java实现List中对象排序的方法

    这是一个基本的实体类示例: ```java public class News { private int id; private String title; private int hits; // 构造函数、getter和setter方法省略 } ``` 现在我们有了一个简单的`News`类,接下来是...

    NET面试题库,含答案

    :接口可以继承接口,抽象类可以实现接口,抽象类可以继承实体类,但有个条件,条件是,实体类必须要有明确的构造函数。 12. 构造器 Constructor 是否可以被继承?是否可以被 Override?:Constructor 不可以被继承...

    JPA注解总结大全!!!!

    为了将一个普通的 Java 对象转换为 JPA 的实体类,我们需要使用 `@Entity` 注解。例如: ```java @Entity @Table(name = "users") public class Users implements Serializable { // 具体字段定义... } ``` 这里...

    hibernate bag 集合映射

    3. **Java实体类**:包含bag属性的实体类将定义相关的方法,如getter和setter。 4. **操作示例**:如何在Java代码中添加、删除和查询bag集合中的元素。 通过以上信息,我们可以深入了解Hibernate的bag集合映射,...

    Hibernate_JPA

    7. **一对多映射**:在 Hibernate 中,表示一个实体类与多个实体类之间的关联关系。例如,`One` 类与 `Many` 类的一对多关系: ```java @OneToMany(mappedBy = "one") private List&lt;Many&gt; manyList; ``` 在 `...

    Android实现ListView的A-Z字母排序和过滤搜索功能 实现汉字转成拼音

    在处理如联系人或城市列表这类需要按字母顺序排序的数据时,通常需要实现A-Z字母排序和过滤搜索功能。本教程将详细介绍如何在Android中实现这些功能,同时还会涉及将汉字转换为拼音的技术。 首先,我们创建一个名为...

    Java基础入门教程 Java编程技术10 集合框架(略)(共48页).pptx

    实体类如`ArrayList`、`LinkedList`、`HashSet`等实现了这些接口,提供了具体的数据结构和操作。`Iterator`接口是遍历集合元素的核心工具。 **10.2 Collection接口** `Collection`是最基础的接口,表示一组对象。它...

Global site tag (gtag.js) - Google Analytics