日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【java开发系列】—— 集合使用方法

發布時間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【java开发系列】—— 集合使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

  在java中提供給我們了一些類似C++泛型的簡單集合,list,set,map等。這里,簡單介紹一下這些集合容器的使用方法,以及復雜對象元素的自定義排序。

  首先看一下集合的框架圖:

  由于collection也繼承了Iterator和comparable接口,因此我們可以使用Iterator來遍歷元素,也可以通過自定義compareTo函數來重新編寫自己的排序。

  List

1 package testCollection; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.List; 6 7 public class testList { 8 public static void main(String[] args){ 9 List list = new ArrayList(); 10 list.add("test1"); 11 list.add("test2"); 12 list.add("test3"); 13 14 System.out.println("out by for!"); 15 for(Object o : list){ 16 System.out.println(o); 17 } 18 19 System.out.println("out by iterator!"); 20 Iterator iterator = list.iterator(); 21 while(iterator.hasNext()){ 22 String element = (String)iterator.next(); 23 System.out.println(element); 24 } 25 } 26 }

運行結果

out by for! test1 test2 test3 out by iterator! test1 test2 test3

Set,如果遇到重復的元素,不會添加

1 package testCollection; 2 3 import java.util.HashSet; 4 import java.util.Set; 5 6 public class testSet { 7 public static void main(String[] args){ 8 Set set = new HashSet();//使用set一般都是用hashset,這個會快一些 9 set.add("test1"); 10 set.add("test2"); 11 if(set.add("test2")){ 12 System.out.println("add successful"); 13 }else{ 14 System.out.println("add failed"); 15 } 16 } 17 }

運行結果

add failed

Map

1 package testCollection; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.Set; 6 7 public class testMap { 8 public static void main(String[] args){ 9 Map map = new HashMap(); 10 11 map.put(1, "test1"); 12 map.put(2, "test2"); 13 14 System.out.println("size "+map.size()); 15 System.out.println(map.get(1)); 16 17 Set keys = map.keySet(); 18 for(Object key : keys){ 19 System.out.println(key); 20 } 21 22 map.remove(2); 23 System.out.println("size "+map.size()); 24 } 25 }

運行結果

size 2 test1 1 2 size 1

自定義排序函數

person類,繼承Comparable接口,重載compareTo函數

1 package testCollection; 2 3 public class Person implements Comparable{ 4 private String name; 5 private int age; 6 public String getName() { 7 return name; 8 } 9 public void setName(String name) { 10 this.name = name; 11 } 12 public int getAge() { 13 return age; 14 } 15 public void setAge(int age) { 16 this.age = age; 17 } 18 public Person(String name,int age){ 19 this.name = name; 20 this.age = age; 21 } 22 @Override 23 public int compareTo(Object person) throws ClassCastException { 24 if(!(person instanceof Person)){ 25 throw new ClassCastException("A Person perspected!"); 26 } 27 int age = ((Person)person).getAge(); 28 return this.age-age; 29 } 30 }

測試類

1 package testCollection; 2 3 import java.util.Arrays; 4 5 public class testComparable { 6 public static void main(String[] args){ 7 Person[] persons = new Person[4]; 8 persons[0] = new Person("test1",18); 9 persons[1] = new Person("test2",20); 10 persons[2] = new Person("test3",15); 11 persons[3] = new Person("test4",19); 12 13 System.out.println("before sorting!"); 14 15 for(Person p : persons){ 16 System.out.println("name: "+p.getName()+" age: "+p.getAge()); 17 } 18 19 System.out.println("after sorting!"); 20 Arrays.sort(persons); 21 for(Person p : persons){ 22 System.out.println("name: "+p.getName()+" age: "+p.getAge()); 23 } 24 } 25 }

運行結果

before sorting! name: test1 age: 18 name: test2 age: 20 name: test3 age: 15 name: test4 age: 19 after sorting! name: test3 age: 15 name: test1 age: 18 name: test4 age: 19 name: test2 age: 20 from: http://www.cnblogs.com/xing901022/p/3961661.html

總結

以上是生活随笔為你收集整理的【java开发系列】—— 集合使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。