java.util.Collection
集合接口
java.util.Collections
集合工具类
public class CollectionsTest01 {
public static void main(String[] args) {
//ArrayList是非线程安全的
List<String> list = new ArrayList<>();
//变成线程安全的
Collections.synchronizedList(list);
//排序,必须是List集合
list.add("a");
list.add("c");
list.add("d");
list.add("b");
Collections.sort(list);
for (int i = 0; i < list.size() ; i++) {
System.out.println(list.get(i));
}
//注意:对list集合中的元素排序,需要保证list集合中的元素实现了:Comparable接口
List<Animals> animals = new ArrayList<>();
animals.add(new Animals(1000));
animals.add(new Animals(500));
animals.add(new Animals(1500));
animals.add(new Animals(200));
Collections.sort(animals);
for (Animals a:animals) {
System.out.println(a);
}
//Collections.sort()只能排序List集合
//Set集合排序?
//先转为List集合,在排序
Set<String> strings = new HashSet<>();
strings.add("m");
strings.add("n");
strings.add("l");
strings.add("k");
List<String> list1 = new ArrayList<>(strings);
Collections.sort(list1);
for (String s:list1) {
System.out.println(s);
}
//Collections.sort(list,comparator)
List<Animal> animals1 = new ArrayList<>();
animals1.add(new Animal(500));
animals1.add(new Animal(400));
animals1.add(new Animal(540));
animals1.add(new Animal(440));
Collections.sort(animals1, new AnimalComparator());
}
}
public class Animals implements Comparable<Animals> {
public Integer age;
public Animals(Integer age) {
this.age = age;
}
public Animals() {
}
@Override
public String toString() {
return "Animal{" +
"age=" + age +
'}';
}
@Override
public int compareTo(Animals o) {
return this.age - o.age;
}
}