欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java 的一丢丢知识

程序员文章站 2022-06-17 19:06:40
HashMap是无序的(只是说不是你插入时的顺序);LinkedHashMap是有序的(按你插入的顺序);TreeMap 是按key排序的;Map map=new LinkedHashMap();List lis=new ArrayList(map.keySet()); 获取键值,利用键值来遍历Map把类压入list中时如果需要排序,可以在定义类的时候,定义一个使用Comparable接口的类List st...

HashMap是无序的(只是说不是你插入时的顺序);
LinkedHashMap是有序的(按你插入的顺序);
TreeMap 是按key排序的;

Map<String,Student> map=new LinkedHashMap<String,Student>();
List lis=new ArrayList(map.keySet()); 获取键值,利用键值来遍历Map

把类压入list中时如果需要排序,可以在定义类的时候,定义一个使用Comparable接口的类
List students = new ArrayList();

class Student implements Comparable{
public int compareTo(Student stu){ //必须重新这个方法
if(id==stu.id){
return name.compareTo(stu.name);
}
else return id-stu.id;
}

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

public class Main {
    public static int initValue = 8;
    public static void main(String[] args) {
        Student s1 = new Student(1, "hadoop");
        Student s2 = new Student(2, "java");
        Student s3 = new Student(1, "spark");
        List<Student> students = new ArrayList<Student>();
        students.add(s3);
        students.add(s1);
        students.add(s2);
        System.out.println("Before:");
        for(Student s : students){
            System.out.println(s.toString());
        }
        Collections.sort(students);//调用这个类里面的自定义排序
        System.out.println("After:");
        for(Student s : students){
            System.out.println(s.toString());
        }
    }
}   //如果定义一个类的时候,需要压如list里面,然后进行排序
   //定义类的时候可以继承Comparable类,然后重新里面的comparableTof方法进行自定义排序
class Student implements Comparable<Student>{
	int id;
	String name;
	public Student(int id,String name){
		this.id=id;
		this.name=name;
	}
	@Override  //重新排序的方法,返回是一个整数,大于零的排序方式
    public int compareTo(Student stu){
		if(id==stu.id){
			return  name.compareTo(stu.name);
		}
		else return id-stu.id;
	}
	 public String toString() {
         return "id: "+this.id+",name: "+this.name;
    }
}





本文地址:https://blog.csdn.net/Are_you_ready/article/details/109631905

相关标签: python