java 排序 collections list的使用

本文通过一个Java实例演示了如何使用Collections工具类对LinkedList进行排序,并自定义比较器实现复杂对象的排序逻辑。文章还展示了如何利用Java集合框架进行基本的操作如复制、查找元素等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天使用排序主要是利用的collections进行排序,可以重在比较函数的接口就可以进行对对像的排序



import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.SortedSet;
class mycompare implements Comparator{

	@Override
	public int compare(Object o1, Object o2) {
		// TODO Auto-generated method stub
		String s1 = (String)o1;
		String s2 = (String)o2;
		int flag =s1.compareTo(s2);
		return flag;
	}
	
}
public class myLInk {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		LinkedList<String> p = new LinkedList<String>(); //定义一个list
		List<String> list = (List<String>)new LinkedList<String>();
		p.add("student2");
		p.add("student3");
		p.add("student1");
		p.add("student4");
		System.out.println("输入未排序");
		for(Iterator<String> next= p.iterator();next.hasNext();)
		{
			System.out.println((String)next.next());
		}
		list = (List<String>) p.clone();//复制
		mycompare cmp = new mycompare();
		Collections.sort(list,cmp);
	//	list = p.clone();
		//System.out.println(((ArrayList<String>)list.toArray()).equals(arg0)get());
		for(Iterator<String> next= list.iterator();next.hasNext();)
		{
			System.out.println((String)next.next());
		}
		
		if(p.contains("Student1")) //判断linklist中是否含有某一个元素
			System.out.printf("Yes\n");
		else
			System.out.printf("NO\n");
		System.out.println("student2在linklist中的位置"+p.indexOf("student2")); //输出某一个元素的下标

		System.out.println("student2在list中的位置"+list.indexOf("student2")); //输出某一个元素的下标
		System.out.println(""+p.size());
		p.clear();//linklist的初始化(清空)
		System.out.println(""+p.size());
		
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值