集合元素去重

1、集合元素去重

 1 package com.nv.test;
 2 
 3 import java.util.HashSet;
 4 import java.util.Vector;
 5 
 6 /**
 7  * 集合元素去重
 8  * 
 9  * @author jixh
10  *
11  */
12 public class CollectionUnique {
13 
14     public static void main(String[] args) {
15         // 第一种,把不重复的取出来放到新的集合
16         Vector<String> ve = new Vector<>();
17         Vector<String> v = new Vector<>();
18         for (String str : ve) {
19             if (!v.contains(str)) {
20                 v.add(str);
21             }
22         }
23         
24         //第二种,使用HashSet
25         @SuppressWarnings("unused")
26         HashSet<String> set = new HashSet<String>(ve);
27     }
28 
29 }

2、脑经急转弯---下面程序的输出结果是多少?

 1 package com.nv.test;
 2 
 3 import java.util.Date;
 4 /**
 5  * super.getClass().getName()测试
 6  * @author jixh
 7  *
 8  */
 9 public class TestGetClass extends Date {
10     
11     private static final long serialVersionUID = 1L;
12 
13     public static void main(String[] args) {
14         new TestGetClass().test();
15     }
16     
17     /**
18      * 由于getClass()在Object类中定义成了final,子类不能覆盖该方法,
19      * 所以,在test方法中调用getClass().getName()方法,其实就是在调用从父类继承的getClass()方法
20      * 也就是说super.getClass()和getClass()的指向是同一个方法,没有设涉及为的多态。
21      * 嗯,这里因为是通过new TestGetClass()对象调的,所以打印TestGetClass
22      * 要得到父类应该是调getClass().getSuperClass().getName();
23      */
24     public void test() {
25         System.out.println(super.getClass().getName());//子类的---共用的
26         System.out.println(getClass().getSuperclass().getName());//父类的
27     }
28 }

答案:

com.nv.test.TestGetClass
java.util.Date

 

posted @ 2018-12-14 18:11  jixhua  阅读(282)  评论(0编辑  收藏  举报