COLLECTIONとは? わかりやすく解説

collection

別表記:コレクション

「collection」の意味

「collection」とは、複数のものが集まっている状態や、それらを集めたものを指す言葉である。具体的には、本や切手、美術品などの収集品や、データや情報の集まりを指すことが多い。また、ファッション業界では、あるシーズンやテーマに基づいた衣服やアクセサリーの一連のデザインを指すこともある。

「collection」の発音・読み方

「collection」の発音は、IPA表記では/kəˈlɛkʃən/となる。IPAのカタカナ読みでは「カレクション」となり、日本人が発音するカタカナ英語では「コレクション」と読むことが一般的である。発音によって意味や品詞が変わる単語ではないため、特別な注意は必要ない。

「collection」の定義を英語で解説

英語で「collection」の定義を説明すると、"a group of objects or items gathered together, especially for a specific purpose or as a result of a shared interest"となる。これは、「特定の目的や共通の関心事によって集められた、物やアイテムのグループ」という意味である。

「collection」の類語

「collection」の類語には、"set", "series", "assortment", "group", "array"などがある。これらの言葉も、複数のものが集まっている状態や、それらを集めたものを指すが、それぞれニュアンスが異なる。例えば、「set」は整った組み合わせを、「series」は連続性を、「assortment」は多様性を、「group」は共通性を、「array」は配置や並びを強調する。

「collection」に関連する用語・表現

「collection」に関連する用語や表現には、"collect", "collector", "curate", "accumulate"などがある。"collect"は、ものを集める行為を指す動詞であり、"collector"は、収集家や集める人を指す名詞である。"curate"は、コレクションを選定・整理することを意味し、"accumulate"は、徐々に物や情報が集まる様子を表す動詞である。

「collection」の例文

1. He has an impressive collection of vintage cars.(彼は見事なビンテージカーのコレクションを持っている。)
2. The museum houses a vast collection of artifacts from ancient civilizations.(その博物館には、古代文明の遺物の大規模なコレクションが収められている。)
3. She is working on a new fashion collection for the upcoming season.(彼女は来シーズンのための新しいファッションコレクションに取り組んでいる。)
4. The library's collection includes rare books and manuscripts.(その図書館のコレクションには、珍しい本や写本が含まれている。)
5. The data collection process is essential for accurate analysis.(データ収集プロセスは、正確な分析に不可欠である。)
6. His stamp collection is worth a fortune.(彼の切手コレクションは財産に値する。)
7. The art collection was donated to the university by a generous benefactor.(その美術コレクションは、寛大な恩人によって大学に寄贈された。)
8. She has a diverse collection of music, ranging from classical to hip-hop.(彼女はクラシックからヒップホップまで、多様な音楽のコレクションを持っている。)
9. The company's product collection caters to various customer needs.(その会社の製品コレクションは、さまざまな顧客ニーズに対応している。)
10. The exhibition features a collection of photographs taken by famous photographers.(その展覧会では、有名な写真家によって撮影された写真のコレクションが展示されている。)

コレクション【collection】

読み方:これくしょん

1 美術品・切手・書籍などを趣味として集めること。また、その集めた物。収集品。「蝶(ちょう)の―」

2 オートクチュールやプレタポルテの新作発表。モードの新作発表。


Collection クラス

Visual Basic の Collection は、一定の順序で並んだ項目のセットであり、1 つの単位として参照できます。

名前空間: Microsoft.VisualBasic
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)
構文構文

<SerializableAttribute> _
Public NotInheritable Class
 Collection
    Implements ICollection, IList, ISerializable, IDeserializationCallback
[SerializableAttribute] 
public sealed class Collection : ICollection,
 IList, ISerializable, 
    IDeserializationCallback
[SerializableAttribute] 
public ref class Collection sealed : ICollection,
 IList, ISerializable, 
    IDeserializationCallback
/** @attribute SerializableAttribute() */ 
public final class Collection implements ICollection,
 IList, 
    ISerializable, IDeserializationCallback
SerializableAttribute 
public final class Collection implements ICollection,
 IList, 
    ISerializable, IDeserializationCallback
解説解説

詳細については、Visual Basic のトピック「Collection オブジェクト (Visual Basic)」を参照してください。

Visual Basic の Collection オブジェクトは、関連する項目のグループを 1 つのオブジェクトとして参照する場合に便利です。コレクション内の項目、つまり要素に必要な関連性は、コレクション内に存在しているという事実だけです。コレクションの要素は同じデータ型である必要はありません。

次の例に示すように、他のオブジェクトの作成と同じ方法でコレクションを作成できます。

Dim coll As New Microsoft.VisualBasic.Collection()

コレクションを作成したら、次の操作を実行できます。

使用例使用例

次の例では、Collection オブジェクト (names) と、ユーザーがオブジェクト (名前) をコレクションに追加するためのダイアログ ボックスを作成しています。さらにコレクション内の名前を表示し、最後に Collection オブジェクト自体を破棄しないでコレクションを空にします。

この例がどのように動作するかを確認するには、[プロジェクト] メニューの [クラスの追加] コマンドをクリックし、各インスタンスの名前を保持する変数として instanceName という名前のパブリック変数を nameClass のモジュール レベルで宣言します (Public instanceName と入力)。既定の名前は nameClass のままです。次のコードをコピーして別のモジュールの全般セクションに貼り付けて、別のプロシージャでそのモジュールを classNamer ステートメントで開始します。この例は、クラスをサポートするホスト アプリケーションでのみ動作します。

Public Class nameClass
    Public instanceName As String
End Class
Sub classNamer()
    ' Create a Visual Basic Collection object.
    Dim names As New Microsoft.VisualBasic.Collection()
    Dim key As Integer
    Dim msg As String
    Dim name As String
    Dim nameList As String
 = ""
    ' 1. Get names from the user to add to the collection.
    Do
        Dim inst As New
 nameClass()
        key += 1
        msg = "Please enter a name for this object."
 & vbCrLf _
            & "Press Cancel to see names in collection."
        name = InputBox(msg, "Name the Collection items")
        inst.instanceName = name
        ' If user entered a name, add it to the collection.
        If inst.instanceName <> ""
 Then
            names.Add(inst, CStr(key))
        End If
    Loop Until name = ""
    ' 2. Create and display a list of names from the collection.
    For Each oneInst As
 nameClass In names
        nameList &= oneInst.instanceName & vbCrLf
    Next oneInst
    MsgBox(nameList, , "Instance Names in names Collection")
    ' 3. Remove elements from the collection without disposing of the
 collection.
    For count As Integer
 = 1 To names.Count
        names.Remove(1)
        ' Since Visual Basic collections are reindexed automatically,
 
        ' remove the first member on each iteration.
    Next count
End Sub
継承階層継承階層
System.Object
  Microsoft.VisualBasic.Collection
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Collection コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

Collection クラスの新しい空のインスタンスを初期化します。

名前空間: System.Collections.ObjectModel
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Dim instance As New Collection(Of
 T)
public Collection ()
public:
Collection ()
public Collection ()
解説解説

このコンストラクタは O(1) 操作です。

使用例使用例

Collection が備える多数のプロパティとメソッドを使用した例を次に示します。このコード例では、Collection コンストラクタで文字列のコレクションを作成し、Add メソッドを使用していくつかの文字列を追加し、Count を表示して、文字列を一覧表示します。IndexOf メソッドを使用して文字列のインデックスを検索し、Contains メソッドを使用して文字列がコレクションにあるかどうかを判断します。Insert メソッドを使用して文字列を挿入し、既定の Item プロパティ (C# の場合はインデクサ) を使用して文字列を取得および設定します。文字列 ID による文字列の削除のために Remove メソッドを使用し、インデックスによる文字列の削除のために RemoveAt メソッドを使用します。最後に、Clear メソッドを使用してコレクションのすべての文字列をクリアします。

Imports System
Imports System.Collections.Generic
Imports System.Collections.ObjectModel

Public Class Demo
    
    Public Shared Sub Main()
 

        Dim dinosaurs As New
 Collection(Of String)

        dinosaurs.Add("Psitticosaurus")
        dinosaurs.Add("Caudipteryx")
        dinosaurs.Add("Compsognathus")
        dinosaurs.Add("Muttaburrasaurus")

        Console.WriteLine("{0} dinosaurs:", dinosaurs.Count)
        Display(dinosaurs)
    
        Console.WriteLine(vbLf & "IndexOf(""Muttaburrasaurus""):
 {0}", _
            dinosaurs.IndexOf("Muttaburrasaurus"))

        Console.WriteLine(vbLf & "Contains(""Caudipteryx""):
 {0}", _
            dinosaurs.Contains("Caudipteryx"))

        Console.WriteLine(vbLf & "Insert(2, ""Nanotyrannus"")")
        dinosaurs.Insert(2, "Nanotyrannus")
        Display(dinosaurs)

        Console.WriteLine(vbLf & "dinosaurs(2): {0}",
 dinosaurs(2))

        Console.WriteLine(vbLf & "dinosaurs(2) = ""Microraptor""")
        dinosaurs(2) = "Microraptor"
        Display(dinosaurs)

        Console.WriteLine(vbLf & "Remove(""Microraptor"")")
        dinosaurs.Remove("Microraptor")
        Display(dinosaurs)

        Console.WriteLine(vbLf & "RemoveAt(0)")
        dinosaurs.RemoveAt(0)
        Display(dinosaurs)
 
        Console.WriteLine(vbLf & "dinosaurs.Clear()")
        dinosaurs.Clear()
        Console.WriteLine("Count: {0}", dinosaurs.Count)

    End Sub
    
    Private Shared Sub Display(ByVal
 cs As Collection(Of String))
 
        Console.WriteLine()
        For Each item As
 String In cs
            Console.WriteLine(item)
        Next item
    End Sub
End Class

' This code example produces the following output:
'
'4 dinosaurs:
'
'Psitticosaurus
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'IndexOf("Muttaburrasaurus"): 3
'
'Contains("Caudipteryx"): True
'
'Insert(2, "Nanotyrannus")
'
'Psitticosaurus
'Caudipteryx
'Nanotyrannus
'Compsognathus
'Muttaburrasaurus
'
'dinosaurs(2): Nanotyrannus
'
'dinosaurs(2) = "Microraptor"
'
'Psitticosaurus
'Caudipteryx
'Microraptor
'Compsognathus
'Muttaburrasaurus
'
'Remove("Microraptor")
'
'Psitticosaurus
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'RemoveAt(0)
'
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'dinosaurs.Clear()
'Count: 0
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<string> dinosaurs = new
 Collection<string>();

        dinosaurs.Add("Psitticosaurus");
        dinosaurs.Add("Caudipteryx");
        dinosaurs.Add("Compsognathus");
        dinosaurs.Add("Muttaburrasaurus");

        Console.WriteLine("{0} dinosaurs:", dinosaurs.Count);
        Display(dinosaurs);
    
        Console.WriteLine("\nIndexOf(\"Muttaburrasaurus\"): {0}",
 
            dinosaurs.IndexOf("Muttaburrasaurus"));

        Console.WriteLine("\nContains(\"Caudipteryx\"): {0}",
 
            dinosaurs.Contains("Caudipteryx"));

        Console.WriteLine("\nInsert(2, \"Nanotyrannus\")");
        dinosaurs.Insert(2, "Nanotyrannus");
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]);

        Console.WriteLine("\ndinosaurs[2] = \"Microraptor\"");
        dinosaurs[2] = "Microraptor";
        Display(dinosaurs);

        Console.WriteLine("\nRemove(\"Microraptor\")");
        dinosaurs.Remove("Microraptor");
        Display(dinosaurs);

        Console.WriteLine("\nRemoveAt(0)");
        dinosaurs.RemoveAt(0);
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs.Clear()");
        dinosaurs.Clear();
        Console.WriteLine("Count: {0}", dinosaurs.Count);
    }
    
    private static void
 Display(Collection<string> cs)
    {
        Console.WriteLine();
        foreach( string item in
 cs )
        {
            Console.WriteLine(item);
        }
    }
}

/* This code example produces the following output:

4 dinosaurs:

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

IndexOf("Muttaburrasaurus"): 3

Contains("Caudipteryx"): True

Insert(2, "Nanotyrannus")

Psitticosaurus
Caudipteryx
Nanotyrannus
Compsognathus
Muttaburrasaurus

dinosaurs[2]: Nanotyrannus

dinosaurs[2] = "Microraptor"

Psitticosaurus
Caudipteryx
Microraptor
Compsognathus
Muttaburrasaurus

Remove("Microraptor")

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

RemoveAt(0)

Caudipteryx
Compsognathus
Muttaburrasaurus

dinosaurs.Clear()
Count: 0
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Collection ジェネリック クラス
Collection メンバ
System.Collections.ObjectModel 名前空間

Collection コンストラクタ

新しい Visual Basic の Collection オブジェクト (Visual Basic) を作成して返します。

名前空間: Microsoft.VisualBasic
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)
構文構文

public Collection ()
public:
Collection ()
public Collection ()
解説解説

このコンストラクタによって返された Visual Basic コレクションは空であり、初期量が割り当てられていません。

Visual Basic コレクションには、System.Collections、System.Collections.Generic、および System.Collections.Specialized の各名前空間で使用できる .NET Framework コレクションとの互換性はありません。

使用例使用例
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Collection コンストラクタ


Collection コンストラクタ (ジェネリック IList)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定したリストのラッパーとして Collection クラスの新しいインスタンスを初期化します。

名前空間: System.Collections.ObjectModel
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    list As IList(Of T) _
)
Dim list As IList(Of T)

Dim instance As New Collection(Of
 T)(list)
public Collection (
    IList<T> list
)
public:
Collection (
    IList<T>^ list
)
public Collection (
    IList<T> list
)
public function Collection (
    list : IList<T>
)

パラメータ

list

新しいコレクションによってラップされているリスト。

例外例外
例外の種類条件

ArgumentNullException

list が null 参照 (Visual Basic では Nothing) です。

解説解説

リストの要素がコピーされていません。リストはコレクションによってラップされているので、以降は、リストの要素の変更を Collection を使って表示できます。

このコンストラクタは O(1) 操作です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Collection ジェネリック クラス
Collection メンバ
System.Collections.ObjectModel 名前空間

Collection ジェネリック クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

ジェネリック コレクションの基本クラスを提供します。

名前空間: System.Collections.ObjectModel
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(False)> _
Public Class Collection(Of
 T)
    Implements IList(Of T), ICollection(Of
 T), _
    IEnumerable(Of T), IList, ICollection, _
    IEnumerable
Dim instance As Collection(Of
 T)
[SerializableAttribute] 
[ComVisibleAttribute(false)] 
public class Collection<T> : IList<T>,
 ICollection<T>, 
    IEnumerable<T>, IList, ICollection, IEnumerable
[SerializableAttribute] 
[ComVisibleAttribute(false)] 
generic<typename T>
public ref class Collection : IList<T>,
 ICollection<T>, 
    IEnumerable<T>, IList, ICollection, IEnumerable
J# では、ジェネリックな型およびメソッドは使用できますが、新規に宣言することはできません。
JScript では、ジェネリックな型およびメソッドは使用できません。

型パラメータ

T

コレクション内の要素の型。

解説解説

Collection クラスは、いずれかの構築型のインスタンスを作成することによってすぐに使用できます。コレクションに含めるオブジェクトの型を指定する以外の操作は必要ありません。また、任意の構築型から固有のコレクション型を派生させることや、Collection クラス自体からジェネリック コレクション型を派生させることもできます。

Collection クラスには、項目を追加および削除するときにコレクションをクリアしたり既存の項目の値を設定するための動作のカスタマイズに使用できるプロテクト メソッドがあります。

Collection インスタンスは常に変更できます。このクラスの読み取り専用バージョンについては、ReadOnlyCollection のトピックを参照してください。

このコレクション内の要素は、整数インデックスを使用してアクセスできます。このコレクションのインデックスは 0 から始まります。

Collection は、null 参照 (Visual Basic では Nothing) を参照型に対して有効な値として受け取り、要素の重複を許可します。

実装時の注意 この基本クラスは、カスタム コレクションを簡単に作成できるように提供されています。実装する場合は、独自のクラスを作成するのではなく、この基本クラスを拡張してください。

使用例使用例

このセクションには、2 つのコード例が含まれています。最初の例では、Collection クラスのいくつかのプロパティおよびメソッドの例を示します。2 番目の例では、Collection の構築型からコレクション クラスを派生させる方法、および Collection のプロテクト メソッドをオーバーライドしてカスタム動作を提供する方法を示します。

例 1

Collection が備える多数のプロパティとメソッドを使用した例を次に示します。このコード例では、文字列のコレクションを作成し、Add メソッドを使用していくつかの文字列を追加し、Count を表示して、文字列を一覧表示します。IndexOf メソッドを使用して文字列のインデックスを検索し、Contains メソッドを使用して文字列がコレクションにあるかどうかを判断します。Insert メソッドを使用して文字列を挿入し、既定の Item プロパティ (C# の場合はインデクサ) を使用して文字列を取得および設定します。文字列 ID による文字列の削除のために Remove メソッドを使用し、インデックスによる文字列の削除のために RemoveAt メソッドを使用します。最後に、Clear メソッドを使用してコレクションのすべての文字列をクリアします。

Imports System
Imports System.Collections.Generic
Imports System.Collections.ObjectModel

Public Class Demo
    
    Public Shared Sub Main()
 

        Dim dinosaurs As New
 Collection(Of String)

        dinosaurs.Add("Psitticosaurus")
        dinosaurs.Add("Caudipteryx")
        dinosaurs.Add("Compsognathus")
        dinosaurs.Add("Muttaburrasaurus")

        Console.WriteLine("{0} dinosaurs:", dinosaurs.Count)
        Display(dinosaurs)
    
        Console.WriteLine(vbLf & "IndexOf(""Muttaburrasaurus""):
 {0}", _
            dinosaurs.IndexOf("Muttaburrasaurus"))

        Console.WriteLine(vbLf & "Contains(""Caudipteryx""):
 {0}", _
            dinosaurs.Contains("Caudipteryx"))

        Console.WriteLine(vbLf & "Insert(2, ""Nanotyrannus"")")
        dinosaurs.Insert(2, "Nanotyrannus")
        Display(dinosaurs)

        Console.WriteLine(vbLf & "dinosaurs(2): {0}",
 dinosaurs(2))

        Console.WriteLine(vbLf & "dinosaurs(2) = ""Microraptor""")
        dinosaurs(2) = "Microraptor"
        Display(dinosaurs)

        Console.WriteLine(vbLf & "Remove(""Microraptor"")")
        dinosaurs.Remove("Microraptor")
        Display(dinosaurs)

        Console.WriteLine(vbLf & "RemoveAt(0)")
        dinosaurs.RemoveAt(0)
        Display(dinosaurs)
 
        Console.WriteLine(vbLf & "dinosaurs.Clear()")
        dinosaurs.Clear()
        Console.WriteLine("Count: {0}", dinosaurs.Count)

    End Sub
    
    Private Shared Sub Display(ByVal
 cs As Collection(Of String))
 
        Console.WriteLine()
        For Each item As
 String In cs
            Console.WriteLine(item)
        Next item
    End Sub
End Class

' This code example produces the following output:
'
'4 dinosaurs:
'
'Psitticosaurus
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'IndexOf("Muttaburrasaurus"): 3
'
'Contains("Caudipteryx"): True
'
'Insert(2, "Nanotyrannus")
'
'Psitticosaurus
'Caudipteryx
'Nanotyrannus
'Compsognathus
'Muttaburrasaurus
'
'dinosaurs(2): Nanotyrannus
'
'dinosaurs(2) = "Microraptor"
'
'Psitticosaurus
'Caudipteryx
'Microraptor
'Compsognathus
'Muttaburrasaurus
'
'Remove("Microraptor")
'
'Psitticosaurus
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'RemoveAt(0)
'
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'dinosaurs.Clear()
'Count: 0
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<string> dinosaurs = new
 Collection<string>();

        dinosaurs.Add("Psitticosaurus");
        dinosaurs.Add("Caudipteryx");
        dinosaurs.Add("Compsognathus");
        dinosaurs.Add("Muttaburrasaurus");

        Console.WriteLine("{0} dinosaurs:", dinosaurs.Count);
        Display(dinosaurs);
    
        Console.WriteLine("\nIndexOf(\"Muttaburrasaurus\"): {0}",
 
            dinosaurs.IndexOf("Muttaburrasaurus"));

        Console.WriteLine("\nContains(\"Caudipteryx\"): {0}",
 
            dinosaurs.Contains("Caudipteryx"));

        Console.WriteLine("\nInsert(2, \"Nanotyrannus\")");
        dinosaurs.Insert(2, "Nanotyrannus");
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]);

        Console.WriteLine("\ndinosaurs[2] = \"Microraptor\"");
        dinosaurs[2] = "Microraptor";
        Display(dinosaurs);

        Console.WriteLine("\nRemove(\"Microraptor\")");
        dinosaurs.Remove("Microraptor");
        Display(dinosaurs);

        Console.WriteLine("\nRemoveAt(0)");
        dinosaurs.RemoveAt(0);
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs.Clear()");
        dinosaurs.Clear();
        Console.WriteLine("Count: {0}", dinosaurs.Count);
    }
    
    private static void
 Display(Collection<string> cs)
    {
        Console.WriteLine();
        foreach( string item in
 cs )
        {
            Console.WriteLine(item);
        }
    }
}

/* This code example produces the following output:

4 dinosaurs:

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

IndexOf("Muttaburrasaurus"): 3

Contains("Caudipteryx"): True

Insert(2, "Nanotyrannus")

Psitticosaurus
Caudipteryx
Nanotyrannus
Compsognathus
Muttaburrasaurus

dinosaurs[2]: Nanotyrannus

dinosaurs[2] = "Microraptor"

Psitticosaurus
Caudipteryx
Microraptor
Compsognathus
Muttaburrasaurus

Remove("Microraptor")

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

RemoveAt(0)

Caudipteryx
Compsognathus
Muttaburrasaurus

dinosaurs.Clear()
Count: 0
 */

例 2

このコード例では、Collection ジェネリック クラスの構築型からコレクション クラスを派生させる方法、および InsertItem、RemoveItem、ClearItems、および SetItem の各プロテクト メソッドをオーバーライドして Add、Insert、Remove、および Clear の各メソッドのカスタム動作や、Item プロパティを設定するためのカスタム動作を提供する方法を示します。

この例で提供されるカスタム動作は、Changed という名前の通知イベントです。これは、各プロテクト メソッドの最後で発生します。Dinosaurs クラスは、Collection<string> (Visual Basic の場合は Collection(Of String)) を継承し、Changed イベントを定義します。イベント情報のために DinosaursChangedEventArgs クラスが使用され、変更の種類を識別するために列挙体が使用されます。

次のコード例では、Collection のいくつかのプロパティおよびメソッドを呼び出して、カスタム イベントの例を示します。

Imports System
Imports System.Collections.Generic
Imports System.Collections.ObjectModel

Public Class Dinosaurs
    Inherits Collection(Of String)

    Public Event Changed As
 EventHandler(Of DinosaursChangedEventArgs)

    Protected Overrides Sub
 InsertItem( _
        ByVal index As Integer,
 ByVal newItem As String)

        MyBase.InsertItem(index, newItem)

        RaiseEvent Changed(Me, New
 DinosaursChangedEventArgs( _
            ChangeType.Added, newItem, Nothing))
    End Sub

    Protected Overrides Sub
 SetItem(ByVal index As Integer,
 _
        ByVal newItem As String)

        Dim replaced As String
 = Items(index)
        MyBase.SetItem(index, newItem)

        RaiseEvent Changed(Me, New
 DinosaursChangedEventArgs( _
            ChangeType.Replaced, replaced, newItem))
    End Sub

    Protected Overrides Sub
 RemoveItem(ByVal index As Integer)

        Dim removedItem As String
 = Items(index)
        MyBase.RemoveItem(index)

        RaiseEvent Changed(Me, New
 DinosaursChangedEventArgs( _
            ChangeType.Removed, removedItem, Nothing))
    End Sub

    Protected Overrides Sub
 ClearItems()
        MyBase.ClearItems()

        RaiseEvent Changed(Me, New
 DinosaursChangedEventArgs( _
            ChangeType.Cleared, Nothing, Nothing))
    End Sub

End Class

' Event argument for the Changed event.
'
Public Class DinosaursChangedEventArgs
    Inherits EventArgs

    Public ReadOnly ChangedItem As
 String
    Public ReadOnly ChangeType As
 ChangeType
    Public ReadOnly ReplacedWith As
 String

    Public Sub New(ByVal
 change As ChangeType, ByVal item As
 String, _
        ByVal replacement As String)

        ChangeType = change
        ChangedItem = item
        ReplacedWith = replacement
    End Sub
End Class

Public Enum ChangeType
    Added
    Removed
    Replaced
    Cleared
End Enum

Public Class Demo
    
    Public Shared Sub Main()
 

        Dim dinosaurs As New
 Dinosaurs

        AddHandler dinosaurs.Changed, AddressOf
 ChangedHandler

        dinosaurs.Add("Psitticosaurus")
        dinosaurs.Add("Caudipteryx")
        dinosaurs.Add("Compsognathus")
        dinosaurs.Add("Muttaburrasaurus")

        Display(dinosaurs)
    
        Console.WriteLine(vbLf & "IndexOf(""Muttaburrasaurus""):
 {0}", _
            dinosaurs.IndexOf("Muttaburrasaurus"))

        Console.WriteLine(vbLf & "Contains(""Caudipteryx""):
 {0}", _
            dinosaurs.Contains("Caudipteryx"))

        Console.WriteLine(vbLf & "Insert(2, ""Nanotyrannus"")")
        dinosaurs.Insert(2, "Nanotyrannus")

        Console.WriteLine(vbLf & "dinosaurs(2): {0}",
 dinosaurs(2))

        Console.WriteLine(vbLf & "dinosaurs(2) = ""Microraptor""")
        dinosaurs(2) = "Microraptor"

        Console.WriteLine(vbLf & "Remove(""Microraptor"")")
        dinosaurs.Remove("Microraptor")

        Console.WriteLine(vbLf & "RemoveAt(0)")
        dinosaurs.RemoveAt(0)

        Display(dinosaurs)
 
    End Sub
    
    Private Shared Sub Display(ByVal
 cs As Collection(Of String))
 
        Console.WriteLine()
        For Each item As
 String In cs
            Console.WriteLine(item)
        Next item
    End Sub

    Private Shared Sub ChangedHandler(ByVal
 source As Object, _
        ByVal e As DinosaursChangedEventArgs)

        If e.ChangeType = ChangeType.Replaced Then
            Console.WriteLine("{0} was replaced with {1}",
 _
                e.ChangedItem, e.ReplacedWith)

        ElseIf e.ChangeType = ChangeType.Cleared Then
            Console.WriteLine("The dinosaur list was cleared.")

        Else
            Console.WriteLine("{0} was {1}.", _
                e.ChangedItem, e.ChangeType)
        End If
    End Sub

End Class

' This code example produces the following output:
'
'Psitticosaurus was Added.
'Caudipteryx was Added.
'Compsognathus was Added.
'Muttaburrasaurus was Added.
'
'Psitticosaurus
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
'
'IndexOf("Muttaburrasaurus"): 3
'
'Contains("Caudipteryx"): True
'
'Insert(2, "Nanotyrannus")
'Nanotyrannus was Added.
'
'dinosaurs(2): Nanotyrannus
'
'dinosaurs(2) = "Microraptor"
'Nanotyrannus was replaced with Microraptor
'
'Remove("Microraptor")
'Microraptor was Removed.
'
'RemoveAt(0)
'Psitticosaurus was Removed.
'
'Caudipteryx
'Compsognathus
'Muttaburrasaurus
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Dinosaurs : Collection<string>
{
    public event EventHandler<DinosaursChangedEventArgs>
 Changed;

    protected override void InsertItem(int
 index, string newItem)
    {
        base.InsertItem(index, newItem);

        EventHandler<DinosaursChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new DinosaursChangedEventArgs(
                ChangeType.Added, newItem, null));
        }
    }

    protected override void SetItem(int
 index, string newItem)
    {
        string replaced = Items[index];
        base.SetItem(index, newItem);

        EventHandler<DinosaursChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new DinosaursChangedEventArgs(
                ChangeType.Replaced, replaced, newItem));
        }
    }

    protected override void RemoveItem(int
 index)
    {
        string removedItem = Items[index];
        base.RemoveItem(index);

        EventHandler<DinosaursChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new DinosaursChangedEventArgs(
                ChangeType.Removed, removedItem, null));
        }
    }

    protected override void ClearItems()
    {
        base.ClearItems();

        EventHandler<DinosaursChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new DinosaursChangedEventArgs(
                ChangeType.Cleared, null, null));
        }
    }
}

// Event argument for the Changed event.
//
public class DinosaursChangedEventArgs : EventArgs
{
    public readonly string ChangedItem;
    public readonly ChangeType ChangeType;
    public readonly string ReplacedWith;

    public DinosaursChangedEventArgs(ChangeType change, string
 item, 
        string replacement)
    {
        ChangeType = change;
        ChangedItem = item;
        ReplacedWith = replacement;
    }
}

public enum ChangeType
{
    Added, 
    Removed, 
    Replaced, 
    Cleared
};

public class Demo
{
    public static void Main()
    {
        Dinosaurs dinosaurs = new Dinosaurs();

        dinosaurs.Changed += ChangedHandler; 

        dinosaurs.Add("Psitticosaurus");
        dinosaurs.Add("Caudipteryx");
        dinosaurs.Add("Compsognathus");
        dinosaurs.Add("Muttaburrasaurus");

        Display(dinosaurs);
    
        Console.WriteLine("\nIndexOf(\"Muttaburrasaurus\"): {0}",
 
            dinosaurs.IndexOf("Muttaburrasaurus"));

        Console.WriteLine("\nContains(\"Caudipteryx\"): {0}",
 
            dinosaurs.Contains("Caudipteryx"));

        Console.WriteLine("\nInsert(2, \"Nanotyrannus\")");
        dinosaurs.Insert(2, "Nanotyrannus");

        Console.WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]);

        Console.WriteLine("\ndinosaurs[2] = \"Microraptor\"");
        dinosaurs[2] = "Microraptor";

        Console.WriteLine("\nRemove(\"Microraptor\")");
        dinosaurs.Remove("Microraptor");

        Console.WriteLine("\nRemoveAt(0)");
        dinosaurs.RemoveAt(0);

        Display(dinosaurs);
    }
    
    private static void
 Display(Collection<string> cs)
    {
        Console.WriteLine();
        foreach( string item in
 cs )
        {
            Console.WriteLine(item);
        }
    }

    private static void
 ChangedHandler(object source, 
        DinosaursChangedEventArgs e)
    {

        if (e.ChangeType==ChangeType.Replaced)
        {
            Console.WriteLine("{0} was replaced with {1}", e.ChangedItem,
 
                e.ReplacedWith);
        }
        else if(e.ChangeType==ChangeType.Cleared)
        {
            Console.WriteLine("The dinosaur list was cleared.");
        }
        else
        {
            Console.WriteLine("{0} was {1}.", e.ChangedItem, e.ChangeType);
        }
    }
}

/* This code example produces the following output:

Psitticosaurus was Added.
Caudipteryx was Added.
Compsognathus was Added.
Muttaburrasaurus was Added.

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

IndexOf("Muttaburrasaurus"): 3

Contains("Caudipteryx"): True

Insert(2, "Nanotyrannus")
Nanotyrannus was Added.

dinosaurs[2]: Nanotyrannus

dinosaurs[2] = "Microraptor"
Nanotyrannus was replaced with Microraptor

Remove("Microraptor")
Microraptor was Removed.

RemoveAt(0)
Psitticosaurus was Removed.

Caudipteryx
Compsognathus
Muttaburrasaurus
 */
継承階層継承階層
System.Object
  System.Collections.ObjectModel.Collection
     派生クラス
スレッド セーフスレッド セーフ

この型の public static (Visual Basic では Shared) メンバは、スレッド セーフです。すべてのインスタンス メンバがスレッド セーフになるかどうかは保証されていません。

コレクションが変更されない限り、Collection では、複数の読み込み操作が同時に発生しても問題ありません。ただし、コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。すべての列挙処理が終わるまでコレクションをロックすることにより、列挙処理でのスレッド セーフを確保できます。コレクションに対し複数のスレッドがアクセスして読み取りや書き込みを行うことができるようにするには、独自に同期化を実装する必要があります。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Collection プロパティ


Collection プロパティ


Collection メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

Collection クラス
Microsoft.VisualBasic 名前空間

その他の技術情報

Collection オブジェクト (Visual Basic)
Collection オブジェクトのメンバ
GetEnumerator メソッド (コレクション オブジェクト)

Collection メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Add Collection の末尾にオブジェクトを追加します。
パブリック メソッド Clear Collection からすべての要素を削除します。
パブリック メソッド Contains ある要素が Collection 内に存在するかどうかを判断します。
パブリック メソッド CopyTo Collection 全体を互換性のある 1 次元の Array にコピーします。コピー操作は、コピー先の配列の指定したインデックスから始まります。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetEnumerator Collection を反復処理する列挙子を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IndexOf 指定したオブジェクトを検索し、Collection 全体内で最初に見つかった位置の 0 から始まるインデックスを返します。
パブリック メソッド Insert Collection 内の指定したインデックスの位置に要素を挿入します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド Remove Collection 内で最初に見つかった特定のオブジェクトを削除します。
パブリック メソッド RemoveAt Collection の指定したインデックスにある要素を削除します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.ICollection.CopyTo ICollection の要素を Array にコピーします。Array の特定のインデックスからコピーが開始されます。
インターフェイスの明示的な実装 System.Collections.IEnumerable.GetEnumerator コレクションを反復処理する列挙子を返します。
インターフェイスの明示的な実装 System.Collections.IList.Add IList に項目を追加します。
インターフェイスの明示的な実装 System.Collections.IList.Contains IList に特定の値が格納されているかどうかを判断します。
インターフェイスの明示的な実装 System.Collections.IList.IndexOf IList 内での指定した項目のインデックスを調べます。
インターフェイスの明示的な実装 System.Collections.IList.Insert IList 内の指定したインデックスの位置に項目を挿入します。
インターフェイスの明示的な実装 System.Collections.IList.Remove IList 内で最初に見つかった特定のオブジェクトを削除します。
参照参照

関連項目

Collection ジェネリック クラス
System.Collections.ObjectModel 名前空間
ICollection ジェネリック インターフェイス

その他の技術情報

カルチャを認識しないコレクションの操作の実行

Collection メンバ

Visual Basic の Collection は、一定の順序で並んだ項目のセットであり、1 つの単位として参照できます。

Collection データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド Collection 新しい Visual Basic の Collection オブジェクト (Visual Basic) を作成して返します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

Collection クラス
Microsoft.VisualBasic 名前空間

その他の技術情報

Collection オブジェクト (Visual Basic)
Collection オブジェクトのメンバ
GetEnumerator メソッド (コレクション オブジェクト)

Collection メンバ

ジェネリック コレクションの基本クラスを提供します。

Collection ジェネリック型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ Items Collection をラップする List ラッパーを取得します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Add Collection の末尾にオブジェクトを追加します。
パブリック メソッド Clear Collection からすべての要素を削除します。
パブリック メソッド Contains ある要素が Collection 内に存在するかどうかを判断します。
パブリック メソッド CopyTo Collection 全体を互換性のある 1 次元の Array にコピーします。コピー操作は、コピー先の配列の指定したインデックスから始まります。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetEnumerator Collection を反復処理する列挙子を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IndexOf 指定したオブジェクトを検索し、Collection 全体内で最初に見つかった位置の 0 から始まるインデックスを返します。
パブリック メソッド Insert Collection 内の指定したインデックスの位置に要素を挿入します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド Remove Collection 内で最初に見つかった特定のオブジェクトを削除します。
パブリック メソッド RemoveAt Collection の指定したインデックスにある要素を削除します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.ICollection.CopyTo ICollection の要素を Array にコピーします。Array の特定のインデックスからコピーが開始されます。
インターフェイスの明示的な実装 System.Collections.IEnumerable.GetEnumerator コレクションを反復処理する列挙子を返します。
インターフェイスの明示的な実装 System.Collections.IList.Add IList に項目を追加します。
インターフェイスの明示的な実装 System.Collections.IList.Contains IList に特定の値が格納されているかどうかを判断します。
インターフェイスの明示的な実装 System.Collections.IList.IndexOf IList 内での指定した項目のインデックスを調べます。
インターフェイスの明示的な実装 System.Collections.IList.Insert IList 内の指定したインデックスの位置に項目を挿入します。
インターフェイスの明示的な実装 System.Collections.IList.Remove IList 内で最初に見つかった特定のオブジェクトを削除します。
インターフェイスの明示的な実装 System.Collections.IList.Item 指定したインデックスにある要素を取得または設定します。
参照参照

関連項目

Collection ジェネリック クラス
System.Collections.ObjectModel 名前空間
ICollection ジェネリック インターフェイス

その他の技術情報

カルチャを認識しないコレクションの操作の実行

COLLECTION

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/01/08 05:49 UTC 版)

『COLLECTION』
中山美穂 の ベスト・アルバム
リリース
ジャンル ポップス
歌謡曲
レーベル キングレコード
チャート最高順位
  • 1位(オリコン)[1]
  • 1987年度年間38位(オリコン)
  • 1988年度年間27位(オリコン)
ゴールドディスク

第2回日本ゴールドディスク大賞

  • ヤングアイドル(女性ソロ)部門
  • ベスト・アーティスト・オブ・ザ・イヤー
中山美穂 アルバム 年表
ONE AND ONLY
(1987年)
COLLECTION
(1987年)
CATCH THE NITE
(1988年)
『COLLECTION』収録のシングル
  1. 「BE-BOP-HIGHSCHOOL」
    リリース: 1985年12月5日
  2. 「色・ホワイトブレンド」
    リリース: 1986年2月5日
  3. 「JINGI・愛してもらいます」
    リリース: 1986年7月15日
  4. 「ツイてるねノッてるね」
    リリース: 1986年8月21日
  5. 「「派手!!!」」
    リリース: 1987年3月18日
  6. 「50/50」
    リリース: 1987年7月7日
  7. 「CATCH ME」
    リリース: 1987年10月7日
テンプレートを表示

『COLLECTION』(コレクション)は、中山美穂の初のシングル・コレクション・アルバム。1987年11月15日にキングレコードから発売された。規格品番はLP:K28A 830、CT:K28H 1040、CD:K32X 200。

概要

1985年のデビュー曲「C」から1987年の「CATCH ME」までの全シングルA面曲が発売順に収録されている。なお「C」と「ツイてるねノッてるね」の2曲は、表記されていないがアルバム・バージョン(リミックス)となっている(2006年の再発盤ではシングル・バージョンに差し替えられている)。

本作で初めてオリコン・アルバムチャートの1位を獲得し、1987年と1988年両方のアルバム年間売上トップ40にランクインする好セールスを記録した。また、翌年に発表された第2回日本ゴールドディスク大賞のヤングアイドル(女性ソロ)部門の受賞作であり、同賞の "The Best Artist of the Year" も受賞している[2]。

ジャケットは篠山紀信が撮影したものである。CDとカセットテープとではジャケット写真が少々異なる。

2014年6月25日には、本作を含む『COLLECTION』シリーズ4作品のハイレゾ音源による配信が開始された[3]。音源は全曲にリマスターが施されたものとなっている。

収録曲

LP / CT

SIDE A
# タイトル 作詞 作曲 編曲 時間
1. 「「C」」 松本隆 筒美京平 萩田光雄
2. 「生意気」 松本隆 筒美京平 船山基紀
3. 「BE-BOP-HIGHSCHOOL」 松本隆 筒美京平 萩田光雄
4. 「色・ホワイトブレンド」 竹内まりや 竹内まりや 清水信之
5. 「クローズ・アップ」 松本隆 財津和夫 大村雅朗
6. 「JINGI・愛してもらいます」 松本隆 小室哲哉 大村雅朗
SIDE B
# タイトル 作詞 作曲 編曲 時間
1. 「ツイてるね ノッてるね」 松本隆 筒美京平 大村雅朗・船山基紀
2. 「WAKU WAKUさせて」 松本隆 筒美京平 船山基紀
3. 「「派手!!!」」 松本隆 筒美京平 船山基紀
4. 「50/50」 田口俊 小室哲哉 船山基紀
5. 「CATCH ME」 角松敏生 角松敏生 角松敏生

CD

# タイトル 作詞 作曲 編曲 時間
1. 「「C」」 松本隆 筒美京平 萩田光雄
2. 「生意気」 松本隆 筒美京平 船山基紀
3. 「BE-BOP-HIGHSCHOOL」 松本隆 筒美京平 萩田光雄
4. 「色・ホワイトブレンド」 竹内まりや 竹内まりや 清水信之
5. 「クローズ・アップ」 松本隆 財津和夫 大村雅朗
6. 「JINGI・愛してもらいます」 松本隆 小室哲哉 大村雅朗
7. 「ツイてるね ノッてるね」 松本隆 筒美京平 大村雅朗・船山基紀
8. 「WAKU WAKUさせて」 松本隆 筒美京平 船山基紀
9. 「「派手!!!」」 松本隆 筒美京平 船山基紀
10. 「50/50」 田口俊 小室哲哉 船山基紀
11. 「CATCH ME」 角松敏生 角松敏生 角松敏生

再発盤

  • 1989年12月25日 - GOLD CD(完全限定盤330A-50087/同アルバムを含む1988年までに発売されたアルバム全てがGOLD CDで完全限定同日発売された)
  • 1998年3月4日 - CD(廉価盤KICS-667/オリジナル盤より音圧レベルが上がっている。赤色の帯に変更)『COLLECTION II』『COLLECTION III』も廉価盤同時リリース。
  • 2006年2月1日 - CD(廉価盤KICS-1218/アルバム・バージョンで収録されていた2曲がシングル・バージョンに差し替え、帯がピンク色の新しいバージョンに変更、リマスタリング仕様)『COLLECTION II』『COLLECTION III』も廉価盤同時リリース。
  • 2007年 - iTunes配信(アルバム・バージョンで収録されていた2曲はシングル・バージョンに差し替え)
  • 2014年6月25日 - ハイレゾ配信(2014リマスター、ハイレゾ音源にて今作含むCOLLECTIONシリーズ全てが同日配信開始/配信元:mora、e-onkyo music、VICTOR STUDIO HD-Music)

脚注

出典

関連項目




固有名詞の分類


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「COLLECTION」の関連用語











COLLECTIONのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



COLLECTIONのページの著作権

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2026実用日本語表現辞典 All Rights Reserved.
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのCOLLECTION (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2026 GRAS Group, Inc.RSS