总结一下Java集合

备忘录 lù)

动态数组List是一种类似于数组的集合,它按照索引号的顺序来管理元素。List可以保持重复的元素。

在创建对象时,与数组的不同之处在于不需要指定元素数量。

添加

    配列ver
// 生成時要素数は3
int[] nums = new int[3];
nums[0] = 3;
nums[1] = 6;
nums[2] = 1;

for(int value : nums) {
    System.out.println(value);
}
    ArrayList
// 生成時中身は空
List<Integer> list = new ArrayList<>(); 

// 指定しない場合は末尾に追加
list.add(3);
list.add(6);
list.add(1);

// 位置を指定して要素を追加する
list1.add(1, 999);

for (int value : list) {
    System.out.println(value);
}

获得

    配列
int num = nums[1];
    arraylist
 int num = list.get(1);

删除配列
機能なし

arraylist

list.remove(1);

尺寸抽取要素数量。

System.out.println(list.size());

地图
Map是一种用键和值的组合来管理元素的集合。
键不能重复,但值可以重复。

Map<String, String> johnDoe = new HashMap<>();
johnDoe.put("name", "John Doe");
johnDoe.put("gender", "male");
johnDoe.put("hobby", "programming");
johnDoe.put("favorite_food", "apple");
    • HashMapの生成

 

    • 要素の追加 (put)

 

    • 要素の取り出し (get)

 

    • 要素を全て取り出す (拡張for文使用)

 

    • 要素の削除 (remove)

 

    要素数の取得 (size)

拔出 (qu chu)

public class HashMapEntrySample {
public static void main(String args[]) {
    Map<String, Integer> numOfUser = new HashMap<>();
    numOfUser.put("A駅", 100000);
    numOfUser.put("B駅", 130000);
    numOfUser.put("C駅", 20000);
    for (Entry<String, Integer> entry : numOfUser.entrySet()) {
       String key = entry.getKey();
       int value = entry.getValue();
       System.out.println(key + "の乗降客数:" + value + "人");
    }
 }
}

设定
Set是一种管理不重复元素的集合。

Set<String> ipAddresses = new HashSet<>();
 
String[] accessLog = { // 1日分のアクセスログ
    "202.4.x.x", "202.4.x.x", "49.33.x.x", "202.4.x.x", "49.33.x.x", "222.34.x.x", "180.8.x.x", "202.4.x.x",
    "222.34.x.x", "83.217.x.x", "222.34.x.x", "49.33.x.x" };

for (String ipAddress : accessLog) {
    // セットに全てのアクセスログを1つずつaddする。
    ipAddresses.add(ipAddress);
}

巢穴

ArrayList<ArrayList<Integer>> twoDimenArrayList = new ArrayList<>();
 
ArrayList<Integer> row0 = new ArrayList<>();
row0.add(10);
row0.add(20);
row0.add(30);
ArrayList<Integer> row1 = new ArrayList<>();
row1.add(100);
row1.add(200);
row1.add(300);

twoDimenArrayList.add(row0);
twoDimenArrayList.add(row1);

for (ArrayList<Integer> arrayList : twoDimenArrayList) {
  for (Integer integer : arrayList) {
    System.out.println(integer.intValue());
  }
}

备考

LinkedList という仲間が同様の機能で、特定のシチュエーションで高速で動作
LinkedListは、 要素の追加や削除が頻繁に行われる ときに有用なクラスです。

bannerAds