ArrayList LinkedHashSet 基本メソッドまとめ

よく使いそうなArrayListクラスのメソッドまとめ
インデックス番号は0から始まります。
LinkedHashSetクラスでも使えるみたいです。

## 宣言
※右側の<>(※ジェネリックス)の中身は省略できます。
```ruby:宣言
ArrayList<String> fruits = new ArrayList<>();
```

## 要素の追加
ArrayListクラスは、値の重複が許可されます。
LinkedHashSetクラスは、値の重複が許可されません。
LinkedHashSetクラスで同じ要素を追加するコードを記述しても、エラーは出ませんが、実際には同じ要素が追加されません。

ArrayListクラスの場合
```ruby:add（要素）
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");
fruits.add("Apple");
System.out.println(fruits);

/*[Apple, Orange, Banana, Apple]*/
```

LinkedHashSetクラスの場合

```ruby:add（要素）
LinkedHashSet<String> fruits = new LinkedHashSet<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");
fruits.add("Apple"); /*追加されない*/
System.out.println(fruits);

/*[Apple, Orange, Banana]*/
```


## 指定の位置に要素の追加
引数にインデックス番号を追加する
```ruby:add(インデックス番号,要素）
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

fruits.add(2, "Strawberry");
 
System.out.println(fruits);
/*[Apple, Orange, Strawberry, Banana]*/
```

## 要素の上書き
```ruby:set(インデックス番号,要素）
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

fruits.set(0,"Lemon");
System.out.println(fruits);
/*[Lemon, Orange, Banana]*/
```


## 要素の取得
```ruby:get(インデックス番号）
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

System.out.println(fruits.get(1));
/*Orange*/
```

## 要素のインデックス取得
存在しない要素を引数に指定すると　-1 が返ってきます。
```ruby:indexOf(要素)
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

System.out.println(fruits.indexOf("Banana"));
/*2*/
System.out.println(fruits.indexOf("DragonFruit"));
/*-1*/
```

## 要素の有無の確認

```ruby:contains(要素)
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

System.out.println(fruits.contains("Apple"));
/*true*/
System.out.println(fruits.contains("DragonFruit"));
/*false*/  
```

## 要素数の取得
```ruby:size()
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

System.out.println(fruits.size());
/*3*/
```

## 要素の削除(インデックス番号で指定）
```ruby:remove(インデックス番号)
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

fruits.remove(1);

System.out.println(fruits);
/*[Apple, Banana]*/
```

## 要素の削除(要素で指定）
```ruby:remove(要素)
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

fruits.remove("Orange");

System.out.println(fruits);
/*[Apple, Banana]*/
```

## 全ての要素の削除
```ruby:clear()
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

fruits.clear();

System.out.println(fruits);
/*[]*/
```

## 要素が空っぽかどうかの確認
```ruby:isEmpty()
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

System.out.println(fruits.isEmpty());
/*false*/

fruits.clear();
System.out.println(fruits.isEmpty());
/*true*/
```
## ArrayListのコピー
```ruby:コピー
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Banana");

ArrayList<String> fruits2 = new ArrayList<>(fruits);

System.out.println(fruits2);
/*[Apple, Orange, Banana]*/
```

## ArrayList 昇順で並び替え
要　import java.util.Collections

```ruby:Collections.sort 昇順
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(4);
numbers.add(2);
numbers.add(7);

Collections.sort(numbers);

System.out.println(numbers);
/*[2,4,7]*/
```

## ArrayList 降順で並び替え
要　import java.util.Collections
```ruby:Collections.sort 降順
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(4);
numbers.add(2);
numbers.add(7);

Collections.sort(numbers,Collections.reverseOrder());

System.out.println(numbers);
/*[7,4,2]*/
```