`

集合sort方法的使用

    博客分类:
  • java
阅读更多
Collections.sort方法可以对集合进行排序,它有两个参数arg0:要排序的集合;arg1:实现了比较接口的类。下面是具体代码:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import org.apache.log4j.Logger;

public class LinkSort implements Comparator<LinkSort>{
	Logger logger=Logger.getLogger(LinkSort.class); 
	public LinkSort(){
		super();
	}
	public LinkSort(String key,String url,int linkCount){
		this.key=key;
		this.url=url;
		this.linkCount=linkCount;
	}
	private String key;
	private String url;
	
	private int linkCount;
	public int getLinkCount() {
		return linkCount;
	}
	public void setLinkCount(int linkCount) {
		this.linkCount = linkCount;
	}
	public String getKey() {
		return key;
	}
	public void setKey(String key) {
		this.key = key;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	/**
	 * 排序方法
	 * 根据点击次数进行排序   linkCount
	 * **/
	@Override
	public int compare(LinkSort arg0,LinkSort arg1){
		if(arg0.getLinkCount()>=arg1.getLinkCount()){
			return 0;
		}else{
			return 1;
		}
	}
	/**
	 * 生成json格式
	 * @return String json 格式  {UserManager=/wmba/user/user_queryUserInfos.action}
	 **/
	public String linkSortToJSON(List<LinkSort> list){
		if(list.size()>0){
			//排序
			Collections.sort(list, new LinkSort());
			StringBuffer sb=new StringBuffer();
			sb.append("{");
			for(LinkSort ls : list){
				sb.append(ls.getKey()).append(":").append(ls.getUrl()).append(ls.getLinkCount()).append(",\n");
			}
			//去掉最后一个","号   并加上"}"
			String temp=sb.toString().substring(0,sb.toString().length()-1)+"}";
			logger.debug(temp);
			return temp;
		}
		return "false";
	}
	public static void main(String[] args) {
		List<LinkSort> list=new ArrayList<LinkSort>();
		list.add(new LinkSort("en_US_link","/wmba/user/user_addUser2.action",3));
		list.add(new LinkSort("en_US_link","/wmba/user/user_addUser1.action",6));
		list.add(new LinkSort("en_US_link","/wmba/user/user_addUser3.action",1));
		list.add(new LinkSort("en_US_link","/wmba/user/user_addUser4.action",2));
		list.add(new LinkSort("en_US_link","/wmba/user/user_addUser5.action",5));
		
		LinkSort linksort=new LinkSort();
		
		System.out.println(linksort.linkSortToJSON(list));
	}
}

最后输出:

{en_US_link:/wmba/user/user_addUser1.action6,
en_US_link:/wmba/user/user_addUser5.action5,
en_US_link:/wmba/user/user_addUser2.action3,
en_US_link:/wmba/user/user_addUser4.action2,
en_US_link:/wmba/user/user_addUser3.action1,}
分享到:
评论

相关推荐

    .Net中C#接口中Sort方法的使用

    `Sort`方法通常与数组和列表等集合操作相关联,用于对元素进行升序排列。在C#中,有多种方式可以使用`Sort`方法: 1. 对于数组,可以使用`Array.Sort()`静态方法。例如: ```csharp int[] numbers = { 5, 2, 8, 1...

    java List 排序 Collections.sort

    对于大型数据集,`Collections.sort()`通常能提供很好的性能,但如果需要对大量不可变对象或已排序的列表进行排序,使用`TreeSet`或`LinkedHashSet`等集合类型可能会更高效,因为它们在底层实现了红黑树结构,插入和...

    集合框架练习.doc

    使用 Collections.sort() 方法可以对 List 集合进行排序,然后使用 for-each 循环遍历集合输出元素。 集合框架是 Java 中非常重要的一部分,提供了多种数据结构和操作,可以满足不同的应用需求。熟悉集合框架的使用...

    java常用方法集合

    ### Java常用方法集合 #### 一、`java.lang.*`包概述 `java.lang.*` 包含了Java语言中最基本且最常用的类,这些类是自动导入到每一个程序中的,因此无需显式地导入。它包括了如 `String`, `Integer`, `System`, `...

    Go语言使用sort包对任意类型元素的集合进行排序的方法

    本文实例讲述了Go语言使用sort包对任意类型元素的集合进行排序的方法。分享给大家供大家参考。具体如下: 使用sort包的函数进行排序时,集合需要实现sort.Inteface接口,该接口中有三个方法: 代码如下:// Len is ...

    python字符串, 列表, 字典, 集合方法说明

    在Python中,字符串、列表、字典和集合是四种基本的数据结构,它们提供了许多内置方法来操作数据。下面详细地介绍这些数据结构的方法和用法。 首先,我们来看字符串(String)的相关方法: 1. capitalize():将...

    java泛型集合 java集合 集合 java Collection

    一种是使用`Collections.sort()`方法,它适用于`List`接口的实现,如`ArrayList`。例如: ```java List&lt;Integer&gt; numbers = new ArrayList(); // 添加元素... Collections.sort(numbers); ``` 另一种是通过实现`...

    java集合排序方法总结共13页.pdf.zip

    如果需要对对象数组进行排序,可以使用Arrays类的`sort()`方法,同样需要传递Comparator。 ```java MyObject[] array = ...; Arrays.sort(array, new Comparator() { @Override public int compare(MyObject o1, ...

    java 集合练习题

    最后,使用Collections.sort()方法对集合进行排序,并通过遍历ArrayList将结果输出到控制台。 ```java import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = ...

    Java集合排序及java集合类详解

    对于List,可以使用Collections.sort()方法进行排序,这个方法默认使用元素的自然顺序,如果元素是自定义对象,需要实现Comparable接口或者提供Comparator。对于Map,排序主要是针对其键进行,可以使用SortedMap接口...

    集合框架的使用,可以很好的教你使用集合的框架!

    Person类的例子中,我们可以使用Collections的`sort()`方法对列表进行排序,`equals()`方法用于判断元素是否相等,`binarySearch()`则在排序后的列表中查找元素。 7. Collections工具类:Collections提供了许多对...

    Java API 免费使用集合.zip

    总结,Java API的集合框架是Java编程的基础,理解并熟练使用这些集合类和接口,对于开发高效、可靠的Java应用程序至关重要。通过合理选择和利用不同类型的集合,开发者可以根据需求优化程序性能,提高代码的可读性...

    集合框架,java中常用的集合类和接口

    Java 集合框架概述 ...* 排序元素:使用 sort() 方法对集合中的元素进行排序。 Java 集合框架是 Java 语言中的一种重要组件,提供了丰富的接口和类,简化了集合操作,并提高了编程效率、代码可读性和可维护性。

    用有序顺序表实现集合的各种运算

    本文将通过实例代码和详细的解释,来展示如何使用有序顺序表实现集合的各种运算。 首先,需要了解集合的基本概念。集合是由一些元素组成的集合体,它们之间可以存在某种关系。集合的基本运算包括交集、差集、并集、...

    java集合知识大全

    // 使用Collections.sort()方法 List&lt;Student&gt; students = new ArrayList(); students.add(new Student("Alice", 20)); students.add(new Student("Bob", 18)); Collections.sort(students); ``` ### 总结 Java...

    Java sort集合排序的两种方式解析

    本文将详细解析Java中使用`sort`方法对集合排序的两种主要方式:基于`Comparable`接口和`Comparator`接口。 首先,我们来看第一种方式,通过实现`Comparable`接口来排序。`Comparable`接口定义了一个`compareTo`...

    go语言中sort包的实现方法与应用详解

    所以用户在使用sort包进行排序时无需考虑使用那种排序方式,sort.Interface定义的三个方法:获取数据集合长度的Len()方法、比较两个元素大小的Less()方法和交换两个元素位置的Swap()方法,就可以顺利对数据集合进行...

    Java集合框架及泛型

    Java集合框架是Java编程语言中一个非常重要的组成部分,它提供了一组高效的数据结构和操作这些数据结构的方法。泛型则是Java在J2SE 5.0版本引入的一个特性,极大地提高了代码的类型安全性和可读性。下面我们将深入...

Global site tag (gtag.js) - Google Analytics