Javaの学習コレクション(ArrayListのは) - 要素の複製セットを削除します

要件:削除重複要素のコレクション

分析:

1、一時保存容器

2、回収サイクルを経て(反復)

3は、それが一時的な素子容器があったか否かが判断される(含有します)

A、記憶素子(カスタムタイプ)のタイプを定義

1つの パブリック クラス人{
 2  
3      プライベート文字列名;
4      プライベート int型の年齢;
5  
6      パブリック人(){
 7      スーパー()。
8      }
 9  
10      公衆人(文字列名、int型の年齢){
 11      スーパー();
12      この .nameの= 名前;
13      この .age = 年齢;
14      }
 15  
16      公共の文字列のgetName(){
 17      リターン名前;
18      }
 19  
20      公共の ボイドのsetName(文字列名){
 21      この .nameの= 名前。
22      }
 23  
24      公衆 INT getAge(){
 25      リターン年齢。
26      }
 27  
28      公共 ボイド setAge(INT 年齢){
 29      この .age = 年齢。
30      }
 31  
32      @Override
 33      公共 int型のハッシュコード(){
 34      のSystem.out.println(この + ":-------のhashCode" );
35      リターン この .name.hashCode()+ .age。
36      }
 37  
38      @Override
 39個の     公共 ブール等しい(オブジェクトobj){
 40      のSystem.out.println(これ +は:+ "------- -------等しい" OBJ)。
41      もし((OBJ!instanceofの人))
 42          スロー 新しい ClassCastExceptionが( "类型不对" );
43      人の人= (人物)OBJ。
44      戻り 、この.name.equals(person.name)&& person.age == この.age。
45      }
 46  
47      @Override
 48      パブリック文字列のtoString(){
 49  
50      リターン この .nameの+ ":" + この.age。
51      }
 52 }

第二に、ビジネス・ロジック・コード

1つの インポートjava.util.ArrayListの。
2  インポートするjava.util.Iterator。
3  
4  インポートcn.marw.common.bean.Person。
5  
6  パブリック クラスArrayListTest {
 7  
8      パブリック 静的 ボイドメイン(文字列[]引数){
 9      のArrayList ARR = 新しいArrayListを()。
10  
11      arr.add(新しい人物( "zhang1"、21 ))。
12      arr.add(人物( "zhang2"、22 ));
13      arr.add(人物( "zhang3"、23));
14      arr.add(人物( "zhang4"、24 ));
15      arr.add(人物( "zhang2"、22 ));
16  
17      のSystem.out.println( "去重前:-----" + ARR)。
18  
19      ARR = getSignalElement(ARR)。
20  
21      のSystem.out.println( "去重后:-----" + ARR)。
22      }
 23  
24      プライベート 静的ArrayListのgetSignalElement(ArrayListのARR){
 25      のArrayList TEMP = 新しいArrayListを()。
26      イテレータそれ= (arr.iterator)を、
27      一方(it.hasNext()){
 28          人物P = (人物)it.next();
29  
30          であれば(!のtemp.contains(P)){
 31          temp.add(P)。
32          }
 33      }
 34      リターンTEMP。
35      }
 36 }

結果:

要約:

要素が等しい場合のArrayListは、ある要素の同じセット、か否かを判断します

ArrayListの方法が含まれており、要素に等しいすべてが依存削除します

おすすめ

転載: www.cnblogs.com/WarBlog/p/12101594.html