JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
2017-09-01 16:48
525 查看
一、向已经存在的集合中添加新的元素
打印结果:
二、二进制搜索算法binarySearch,在指定的list列表中查找指定的对象,list列表中存储的对象必须是升序按照自然排序的;
User user = new User(4, "花猫");
List<User> users = new ArrayList<User>();
users.add(new User(34, "黑猫"));
users.add(new User(1, "白猫"));
users.add(new User(23, "梨猫"));
users.add(new User(4, "花猫"));
users.add(new User(6, "紫猫"));
Collections.sort(users);//自然排序
//二进制算法超找
int index = Collections.binarySearch(users, user);
System.out.println(index);
输出的结果是:1
使用比较器来查找,查找的列表必须是按照升序排序的,否则查找的结果是不可预测的
Dog dog = new Dog(23, "梨狗");
List<Dog> dogs = new ArrayList<Dog>();
dogs.add(new Dog(1, "白狗"));
dogs.add(new Dog(4, "花狗"));
dogs.add(new Dog(6, "紫狗"));
dogs.add(new Dog(23, "梨狗"));
dogs.add(new Dog(34, "黑狗"));
//二进制算法超找
int index = Collections.binarySearch(dogs, dog, new Comparator<Dog>() {
@Override
public int compare(Dog dog1, Dog dog2) {
return dog1.getAge().compareTo(dog2.getAge());
}
});
System.out.println("索引"+index);
结果是:索引3
//向存在的集合中添加元素 List<String> list = new ArrayList<String>(); //一次添加一个元素 Collections.addAll(list, "asd"); System.out.println(list); //一次添加多个元素 Collections.addAll(list, "asd","asd"); System.out.println(list);
打印结果:
[asd] [asd, asd, asd]
二、二进制搜索算法binarySearch,在指定的list列表中查找指定的对象,list列表中存储的对象必须是升序按照自然排序的;
User user = new User(4, "花猫");
List<User> users = new ArrayList<User>();
users.add(new User(34, "黑猫"));
users.add(new User(1, "白猫"));
users.add(new User(23, "梨猫"));
users.add(new User(4, "花猫"));
users.add(new User(6, "紫猫"));
Collections.sort(users);//自然排序
//二进制算法超找
int index = Collections.binarySearch(users, user);
System.out.println(index);
输出的结果是:1
使用比较器来查找,查找的列表必须是按照升序排序的,否则查找的结果是不可预测的
Dog dog = new Dog(23, "梨狗");
List<Dog> dogs = new ArrayList<Dog>();
dogs.add(new Dog(1, "白狗"));
dogs.add(new Dog(4, "花狗"));
dogs.add(new Dog(6, "紫狗"));
dogs.add(new Dog(23, "梨狗"));
dogs.add(new Dog(34, "黑狗"));
//二进制算法超找
int index = Collections.binarySearch(dogs, dog, new Comparator<Dog>() {
@Override
public int compare(Dog dog1, Dog dog2) {
return dog1.getAge().compareTo(dog2.getAge());
}
});
System.out.println("索引"+index);
结果是:索引3
相关文章推荐
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)