Set集合
来源:互联网 发布:达芬奇 去闪烁 mac 编辑:程序博客网 时间:2024/06/16 11:19
public class Demo1_HashSet {
/** * @param args * Set集合,无索引,不可以重复,无序(存取不一致) */public static void main(String[] args) { //demo1(); HashSet<Person> hs = new HashSet<>(); hs.add(new Person("张三", 23)); hs.add(new Person("张三", 23)); hs.add(new Person("李四", 24)); hs.add(new Person("李四", 24)); hs.add(new Person("李四", 24)); hs.add(new Person("李四", 24)); //System.out.println(hs.size()); System.out.println(hs);}public static void demo1() { HashSet<String> hs = new HashSet<>(); //创建HashSet对象 boolean b1 = hs.add("a"); boolean b2 = hs.add("a"); //当向set集合中存储重复元素的时候返回为false hs.add("b"); hs.add("c"); hs.add("d"); System.out.println(hs); //HashSet的继承体系中有重写toString方法 System.out.println(b1); System.out.println(b2); for (String string : hs) { //只要能用迭代器迭代的,就可以使用增强for循环遍历 System.out.println(string); }}
}
public class Demo2_LinkedHashSet {
/** * @param args * LinkedHashSet * 底层是链表实现的,是set集合中唯一一个能保证怎么存就怎么取的集合对象 * 因为是HashSet的子类,所以也是保证元素唯一的,与HashSet的原理一样 */public static void main(String[] args) { LinkedHashSet<String> lhs = new LinkedHashSet<>(); lhs.add("a"); lhs.add("a"); lhs.add("a"); lhs.add("a"); lhs.add("b"); lhs.add("c"); lhs.add("d"); System.out.println(lhs);}
}
public class Demo3_TreeSet {
/** * @param args * TreeSet集合是用来对象元素进行排序的,同样他也可以保证元素的唯一 * 当compareTo方法返回0的时候集合中只有一个元素 * 当compareTo方法返回正数的时候集合会怎么存就怎么取 * 当compareTo方法返回负数的时候集合会倒序存储 */public static void main(String[] args) { //demo1(); //demo2(); //demo3(); //demo4(); //需求:将字符串按照长度排序 TreeSet<String> ts = new TreeSet<>(new CompareByLen()); //Comparator c = new CompareByLen(); ts.add("aaaaaaaa"); ts.add("z"); ts.add("wc"); ts.add("nba"); ts.add("cba"); System.out.println(ts);}public static void demo4() { TreeSet<Person> ts = new TreeSet<>(); ts.add(new Person("zhangsan", 23)); ts.add(new Person("lisi", 13)); ts.add(new Person("wangwu", 33)); ts.add(new Person("zhaoliu", 43)); ts.add(new Person("aaaa", 53)); System.out.println(ts);}public static void demo3() { TreeSet<Person> ts = new TreeSet<>(); ts.add(new Person("李四", 13)); ts.add(new Person("张三", 23)); ts.add(new Person("王五", 43)); ts.add(new Person("赵六", 33)); System.out.println('张' + 0); System.out.println('李' + 0); System.out.println('王' + 0); System.out.println('赵' + 0); System.out.println(ts);}public static void demo2() { TreeSet<Person> ts = new TreeSet<>(); ts.add(new Person("张三", 23)); ts.add(new Person("李四", 13)); ts.add(new Person("周七", 13)); ts.add(new Person("王五", 43)); ts.add(new Person("赵六", 33)); System.out.println(ts);}public static void demo1() { TreeSet<Integer> ts = new TreeSet<>(); ts.add(3); ts.add(1); ts.add(1); ts.add(2); ts.add(2); ts.add(3); ts.add(3); System.out.println(ts);}
}
class CompareByLen /extends Object/ implements Comparator {
@Overridepublic int compare(String s1, String s2) { //按照字符串的长度比较 int num = s1.length() - s2.length(); //长度为主要条件 return num == 0 ? s1.compareTo(s2) : num; //内容为次要条件}
}
阅读全文
0 0
- Set 集合
- Set集合
- Set集合
- Set集合
- set集合
- Set集合
- Set集合
- Set集合
- Set 集合
- 集合set
- Set集合
- Set集合
- Set集合
- Set集合
- 集合set
- 集合Set
- Set集合
- 集合Set
- 设计模式 C++版:第二十三式 模板方法
- 成长之路20171013
- 231. Power of Two
- 无限级分类在edit方法下,实现上级栏目选中
- C#操作Aforge摄像头 实现拍照、录像功能
- Set集合
- Spark On YARN 集群安装部署
- jquery学习记录1
- 设计模式
- Python的urlopen的使用
- 数据结构之链表
- 蒟蒻复习之-----SPFA,dijkstra
- 深刻理解Python中的元类(metaclass)
- PL/SQL之六 记录