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】
Collection クラス
アセンブリ: 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
詳細については、Visual Basic のトピック「Collection オブジェクト (Visual Basic)」を参照してください。
Visual Basic の Collection オブジェクトは、関連する項目のグループを 1 つのオブジェクトとして参照する場合に便利です。コレクション内の項目、つまり要素に必要な関連性は、コレクション内に存在しているという事実だけです。コレクションの要素は同じデータ型である必要はありません。
次の例に示すように、他のオブジェクトの作成と同じ方法でコレクションを作成できます。
-
For Each...Next ステートメント (Visual Basic) で、コレクション全体を反復処理する。
注意
Visual Basic の Collection の反復処理は、スレッド セーフな処理ではありません。コレクションの同期がとられている場合でも、別のスレッドによってそのコレクションを変更できるため、変更の結果として列挙子は例外をスローします。列挙の処理をスレッド セーフにするには、コレクションをロックする方法と、別のスレッドによる変更で発生した例外をキャッチする方法があります。プログラミング要素のロックの詳細については、「SyncLock ステートメント」を参照してください。
次の例では、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
Microsoft.VisualBasic.Collection
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
Collection コンストラクタ ()
アセンブリ: mscorlib (mscorlib.dll 内)
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 */
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
Collection コンストラクタ
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)
このコンストラクタによって返された Visual Basic コレクションは空であり、初期量が割り当てられていません。
Visual Basic コレクションには、System.Collections、System.Collections.Generic、および System.Collections.Specialized の各名前空間で使用できる .NET Framework コレクションとの互換性はありません。
新しい Visual Basic コレクションを作成して変数 coll に割り当てる例を次に示します。
この Collection オブジェクトはインデックス番号が 1 から始まるオブジェクトであり、要素のインデックス値は 1 以上 Count プロパティ値以下の範囲です。Visual Basic コレクションは型 Object の要素を保持します。
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
Collection コンストラクタ
| 名前 | 説明 |
|---|---|
| Collection () | Collection クラスの新しい空のインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
| Collection (ジェネリック IList) | 指定したリストのラッパーとして Collection クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
Collection コンストラクタ (ジェネリック IList)
アセンブリ: mscorlib (mscorlib.dll 内)
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
Collection ジェネリック クラス
アセンブリ: mscorlib (mscorlib.dll 内)
<SerializableAttribute> _ <ComVisibleAttribute(False)> _ Public Class Collection(Of T) Implements IList(Of T), ICollection(Of T), _ IEnumerable(Of T), IList, ICollection, _ IEnumerable
[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
Collection クラスは、いずれかの構築型のインスタンスを作成することによってすぐに使用できます。コレクションに含めるオブジェクトの型を指定する以外の操作は必要ありません。また、任意の構築型から固有のコレクション型を派生させることや、Collection クラス自体からジェネリック コレクション型を派生させることもできます。
Collection クラスには、項目を追加および削除するときにコレクションをクリアしたり既存の項目の値を設定するための動作のカスタマイズに使用できるプロテクト メソッドがあります。
Collection インスタンスは常に変更できます。このクラスの読み取り専用バージョンについては、ReadOnlyCollection のトピックを参照してください。
このコレクション内の要素は、整数インデックスを使用してアクセスできます。このコレクションのインデックスは 0 から始まります。
Collection は、null 参照 (Visual Basic では Nothing) を参照型に対して有効な値として受け取り、要素の重複を許可します。
実装時の注意 この基本クラスは、カスタム コレクションを簡単に作成できるように提供されています。実装する場合は、独自のクラスを作成するのではなく、この基本クラスを拡張してください。このセクションには、2 つのコード例が含まれています。最初の例では、Collection クラスのいくつかのプロパティおよびメソッドの例を示します。2 番目の例では、Collection の構築型からコレクション クラスを派生させる方法、および 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 ジェネリック クラスの構築型からコレクション クラスを派生させる方法、および 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 */
この型の public static (Visual Basic では Shared) メンバは、スレッド セーフです。すべてのインスタンス メンバがスレッド セーフになるかどうかは保証されていません。
コレクションが変更されない限り、Collection では、複数の読み込み操作が同時に発生しても問題ありません。ただし、コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。すべての列挙処理が終わるまでコレクションをロックすることにより、列挙処理でのスレッド セーフを確保できます。コレクションに対し複数のスレッドがアクセスして読み取りや書き込みを行うことができるようにするには、独自に同期化を実装する必要があります。
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
Collection プロパティ
関連項目
Collection クラスMicrosoft.VisualBasic 名前空間
その他の技術情報
Collection オブジェクト (Visual Basic)Collection オブジェクトのメンバ
GetEnumerator メソッド (コレクション オブジェクト)
Collection プロパティ
関連項目
Collection ジェネリック クラスSystem.Collections.ObjectModel 名前空間
ICollection ジェネリック インターフェイス
その他の技術情報
カルチャを認識しないコレクションの操作の実行Collection メソッド
| 名前 | 説明 | |
|---|---|---|
| | Add | 要素を Collection オブジェクトに追加します。 |
| | Clear | Visual Basic の Collection オブジェクトの要素をすべて削除します。 |
| | Contains | Visual Basic の Collection オブジェクトに特定のキーを持つ要素が含まれているかどうかを示す Boolean 値を返します。 |
| | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
| | GetEnumerator | Collection オブジェクト (Visual Basic) に対する反復処理に使用する、列挙子オブジェクトへの参照を返します。 |
| | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
| | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
| | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
| | Remove | オーバーロードされます。 Collection オブジェクトから要素を削除します。 |
| | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
| 名前 | 説明 | |
|---|---|---|
| | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
| | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
関連項目
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 から継承されます。) |
| 名前 | 説明 | |
|---|---|---|
| | ClearItems | Collection からすべての要素を削除します。 |
| | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
| | InsertItem | Collection 内の指定したインデックスの位置に要素を挿入します。 |
| | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
| | RemoveItem | Collection の指定したインデックスにある要素を削除します。 |
| | SetItem | 指定したインデックス位置にある要素を置き換えます。 |
| 名前 | 説明 | |
|---|---|---|
| | 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) を作成して返します。 |
| 名前 | 説明 | |
|---|---|---|
| | Add | 要素を Collection オブジェクトに追加します。 |
| | Clear | Visual Basic の Collection オブジェクトの要素をすべて削除します。 |
| | Contains | Visual Basic の Collection オブジェクトに特定のキーを持つ要素が含まれているかどうかを示す Boolean 値を返します。 |
| | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
| | GetEnumerator | Collection オブジェクト (Visual Basic) に対する反復処理に使用する、列挙子オブジェクトへの参照を返します。 |
| | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
| | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
| | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
| | Remove | オーバーロードされます。 Collection オブジェクトから要素を削除します。 |
| | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
| 名前 | 説明 | |
|---|---|---|
| | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
| | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
関連項目
Collection クラスMicrosoft.VisualBasic 名前空間
その他の技術情報
Collection オブジェクト (Visual Basic)Collection オブジェクトのメンバ
GetEnumerator メソッド (コレクション オブジェクト)
Collection メンバ
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 から継承されます。) |
| 名前 | 説明 | |
|---|---|---|
| | ClearItems | Collection からすべての要素を削除します。 |
| | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
| | InsertItem | Collection 内の指定したインデックスの位置に要素を挿入します。 |
| | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
| | RemoveItem | Collection の指定したインデックスにある要素を削除します。 |
| | SetItem | 指定したインデックス位置にある要素を置き換えます。 |
| 名前 | 説明 | |
|---|---|---|
| | 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』 | ||||
|---|---|---|---|---|
| 中山美穂 の ベスト・アルバム | ||||
| リリース | ||||
| ジャンル | ポップス 歌謡曲 |
|||
| レーベル | キングレコード | |||
| チャート最高順位 | ||||
| ゴールドディスク | ||||
| 第2回日本ゴールドディスク大賞
|
||||
| 中山美穂 アルバム 年表 | ||||
|
||||
| 『COLLECTION』収録のシングル | ||||
|
||||
『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
| # | タイトル | 作詞 | 作曲 | 編曲 | 時間 |
|---|---|---|---|---|---|
| 1. | 「「C」」 | 松本隆 | 筒美京平 | 萩田光雄 | |
| 2. | 「生意気」 | 松本隆 | 筒美京平 | 船山基紀 | |
| 3. | 「BE-BOP-HIGHSCHOOL」 | 松本隆 | 筒美京平 | 萩田光雄 | |
| 4. | 「色・ホワイトブレンド」 | 竹内まりや | 竹内まりや | 清水信之 | |
| 5. | 「クローズ・アップ」 | 松本隆 | 財津和夫 | 大村雅朗 | |
| 6. | 「JINGI・愛してもらいます」 | 松本隆 | 小室哲哉 | 大村雅朗 |
| # | タイトル | 作詞 | 作曲 | 編曲 | 時間 |
|---|---|---|---|---|---|
| 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)
脚注
出典
- ^ “MIHO NAKAYAMA COLLECTION|中山美穂”. ORICON NEWS. oricon ME. 2023年7月1日閲覧。
- ^ “第2回日本ゴールドディスク大賞|THE GOLD DISC”. 日本レコード協会. 2024年2月1日閲覧。
- ^ “中山美穂のシングルベスト4作品がハイレゾ音源で配信開始”. BARKS. 2024年2月1日閲覧。
関連項目
- 中山美穂『COLLECTION』シリーズ
- COLLECTION II(1990年)
- COLLECTION III(1995年)
- COLLECTION IV(2006年)
コレクション
(Collection から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/12/28 23:44 UTC 版)
コレクション(英語:collection)は、モノを広く集めること、また集められたもの。収集、収集物、所蔵品。「収集」は「蒐集」とも書く。趣味としての収集活動に対して使われることが多いが。また、研究用資料、博物館や美術館等の所蔵作品群、近年では作家の著作集などに対しても用いられている。服飾においては、ファッションデザイナーや服飾ブランドが開催する展示会及びその作品群を指す。ただしその分野は英語ではファッションウィーク (fashion week) と呼ぶのが一般的である(詳細はファッションショーを参照)。また、日本では一般的でないが、英語圏では募金、寄付金、献金、集金などもコレクションと呼ばれる。収集する人のことを日本では古くはコレクトマニア(直訳すると蒐集狂)と呼び、現在はコレクターと呼ぶ。
収集行動とコレクション
収集は人間の生活において広い範囲にわたって見られる行動であり、美術館や図書館、博物館などに代表されるように、文化財の収集、蓄積は文化の発展に大きく寄与してきた。またそのように集められるものは有形のものに限らず、無形の知識や言い伝えなどもしばしば収集の対象となる。現代では個人の趣味として物を集める人も多く、そのような趣味としてのコレクションでは、芸術品などの高価なものから集めている本人以外は見向きもしないようながらくたまでありとあらゆるものが収集の対象となっている。
「集められたもの」すべてが必ずしも「コレクション」となるわけではない。例えば商業活動を通じて金銭を集め、財産を増やしていく行為は「コレクション」とは呼ばれないし、医師が自分の診療所にいくら多くの患者のカルテを持っていたとしてもそれは「コレクション」ではない。これに関しヴァルター・ベンヤミンやジャン・ボードリヤールのような哲学者は、事物が本来の実用的な機能から切り離されて日常とは別の体系に組み込まれることを(特に趣味としての)コレクションの性質だとしている[1]。また歴史家のクシシトフ・ポミアンは、「歴史家の実践において」コレクションは単なる物の堆積とは以下の3つの点で区別されるとしている[2]。
- コレクションを構成する品物が一時的あるいは永久に、営利活動の流通回路の外に保たれていること(「たとえば、売るために店に集められた品物の集合はコレクションではない」)。
- コレクションを構成する品物の集合が特別な庇護のもとに置かれていること(「コレクションであるためには、保存の問題と、また場合によってはそれを構成する品物の修復の問題を解決する必要がある」)。
- コレクションがそのために閉じられた場所の中で、視線にさらされているということ(「陶器の中に入れて地中に埋められた財宝」や「銀行の金庫室に保存された絵画の集合」などはコレクションではない)。
関連する病気と問題となる例
精神病理学においては、認知症や統合失調症の患者に見られるような、身近な物を捨てられず無闇に溜め込んでしまう症状を「蒐集症(collectionism)」と称する。また精神科医の春日武彦は収集癖に親和性が高い病理として強迫神経症を挙げている[3]。
- 問題となる例
芸術・学問における収集
芸術や学問においては、先行作品や資料、文献などが後世に伝えられることがその発展の上での条件であり、したがって文物の収集は芸術、学問の諸分野で重要な役割を果たしている。特に著作、文献の収集としての図書館はすでに紀元前7世紀にその例があるが、これはあらゆる学問研究の基盤を成す収集であると言える。学問の諸分野のうちで特に収集と深い関わりがあるのは博物学であり、動物、植物、鉱物などの自然物の収集と分類がその基盤である。この分野においては趣味による採集を通じて新種の発見がなされるということも多い。考古学においては古代の人類の遺物が、古生物学においては太古の生物の化石が収集・研究の対象となり、民俗学においては、民芸品のような有形のものに限らず伝承や民謡のような無形のものも収集される。(広い意味では千夜一夜物語や梁塵秘抄、イソップ物語も収集の一形態と考える事ができる)
美術品の収集の歴史は古く、ヘレニズム時代に既に権力者、政治家、学者らによる美術品の収集、公開が行われ、古代ローマの支配拡大に伴って戦利品として古代ギリシアの美術品を持ち帰るということもしばしば行われた。
中世ヨーロッパでは教会が美術品収集の中心であり、彫刻や工芸品の他、写本や珍しい動物の標本などを宝物庫(シャッツカンマー)に所蔵し、中世末期になると宮廷や富裕な市民の間でも世俗的な美術品の収集が行われている。
ルネサンス期においては国家的なまとまりがまだ生じていなかったイタリアを中心に、メディチ家を始めとする富裕層・支配者層の間で古代美術を規範とした美術品収集が行われ、あるいは好古家によって骨董品収集が行われ、それにより国内外の珍品を集めて展示するヴンダーカンマー(驚異の部屋)が作られるようになった。このような私的なコレクションは啓蒙主義の時代とそれに続くフランス革命によって次々に公共化されていき、その幾つかは今日存在する美術館、博物館の基礎となっている。
日本においては奈良時代の正倉院に代表されるように献納物からなる権力者のコレクションが存在したが、個人の美意識に基づいて収集が行われたものとしては足利義政による東山御物などが早い例である。戦国時代から江戸時代には茶の湯の流行から各地の数寄者・大名によって茶道具や古書画が収集されており、江戸時代後期になると文人趣味の流行から中国の書画骨董が収集の対象となった。明治時代になると西洋の美意識が輸入されるようになるが、同時にフェノロサらによって日本美術の独自性が打ち出され美術収集の方向性に大きな影響を与えた。フェノロサ自身明治10年代に多くの日本美術を収集しており、現在そのコレクションはボストン美術館に所蔵されている。明治後期からは益田孝、原富太郎、根津嘉一郎、岩崎弥太郎など実業家によって古画・古磁器を中心とした美術品の収集を行われており、現代でもこのような個人コレクションがのちに美術館の基礎となる例は多い。ただ、残念なのは日本に措ける蒐集には万葉集から始まり江戸時代における柳多留のような歌や詩の蒐集という芸術が伝統的にあり、この場合、古今和歌集や新古今に代表される勅撰和歌集のように政府を挙げて取り組まれることもあった等、収集という行為の一大ジャンルとしてあったが欧州では一般的な形態では無かったためか収集、という見られ方をされていないことに、洋の東西に措けるギャップがある。
趣味としてのコレクション
趣味としてのコレクションの歴史は古く、中国中世の説話集『世説新語』には、下駄の収集に凝って自ら手入れをし「一生に何足の下駄が履けることか」と嘆いていた人物が登場する[4]。近代において市民社会が発達すると、一般市民の間で趣味としてのコレクションが広く行われるようになる。
このような趣味においては美術品、工芸品などの比較的高価なものから、本や古地図、動植物や鉱物標本など資料的価値のあるもの、硬貨、切手など収集の歴史の長いもの、模型や玩具、記念品や土産物のような比較的安価なもの、食料品のパッケージや包装紙のようなそれ自体は価値のないようなものに至るまで、各人の好みに従ってほとんどありとあらゆるものがコレクションの対象となっている。
もちろん時代情勢によって集められるものは移り変わってくる。たとえばタバコ関連は、煙管やパイプ、ライターなどが収集の対象となっているが、嫌煙の風潮によりその価値が大きく損なわれた。このように収集は社会情勢に大きく影響される。
しかし、煙管を使うための煙草入れに附属することが多かった根付は煙草用品とは別に単独で人気が出てきた。これは海外から移入されたブームと言われている。
いわゆる現代的なマニアと古典的な蒐集との橋渡しの概念を提示したのが柳宗悦で、その著書、「茶と美」には「蒐集について」、という章が設けられている。
コレクションに国境は無く、サザビーズやクリスティーズ、フィリップス、ボナムズなどのオークションハウスがコレクションの世界に新たなジャンルを作ろうと働きかけることもある。
現代では物の種類による収集ではなく、特定の漫画・アニメーション作品やそのキャラクターの関連商品(キャラクターグッズ)を収集する例も多い。またトレーディングカードや食玩のように、始めから消費者によって収集の対象とされることを前提とした商品も数多く生産されており、このような分野においては特定のシリーズをすべて収集することが目指される。
また近年のインターネットの発達により情報交換サイトやネットオークション、メルカリでの取引きも行われるようになっており、収集家同士の間では未開封の商品や新品同様の商品がしばしば高値で取引されている。
-
鱗翅類学のコレクション
-
切手アルバムとカタログ。
-
王冠のコレクション
収集
- サイン収集
- 本の収集
- 切手収集
- 紙幣収集
- 貨幣収集、通貨類似物収集
- Fabophilie ‐ フランスの焼き菓子ガレット・デ・ロワ(王様の菓子の意)の中に入ってる人形フェーヴ(fève)の収集。家族等で切り分けて、フェーヴが当たると一年幸運であるとされる。
- サイエンス・コレクション
- データ・コレクション ‐ 新聞や雑誌などの印刷物の切り抜きなど、様々な情報収集について。
収集家
有名な収集家
- ハーヴィー・ナイニンガー - 隕石収集家で研究家。
- ハンス・スローン - 17世紀頃のイギリス人医師で収集家。博物学的な物を収集し、後にコレクションはイギリス政府に寄贈され大英博物館の元となった。
- フォレスト・J・アッカーマン - アメリカ人のSF/ホラー関連の編集者、版権代理人、作家。仕事関係・映画グッズなどの膨大な数のコレクターで個人ミュージアム「アッカーマンション」所有。
- ポール・アレン - マイクロソフト共同創業者。個人的な歴史的遺産のコレクションを展示する非営利団体を立ち上げ、フライング・ヘリテージ・コレクションなどの施設博物館を開設した。
- ルイジ・タリシオ - ストラディバリウス収集家、イタリア人楽器商。
- 木村蒹葭堂 - 江戸時代中期の文人画家・本草学者・収集家[5]。
- 市岡一智と智寛、 信州飯田の収集家[6]。
- ナセル・ハリリ - イラン系イギリス人。8ジャンルのハリリ・コレクション(イスラム美術コレクション、日本美術品コレクションなど)を持つ。
- 清古尊 - 著名人の手形群「清古尊手形」の収集者。
脚注、出典
- ^ ボードリヤール「蒐集の分類体系」(『蒐集』、17頁-18頁)およびベンヤミン、122頁-123頁参照。また後述のポミアンは同様の観点から、「経済活動の実践に必要な情報を引き出すための本だけを集めている図書館」のようなものはコレクションとは見なせないとしている。(ポミアン、23頁)
- ^ ポミアン、22頁、368頁-371頁
- ^ 春日、187頁-193頁
- ^ 新釈漢文大系「世説新語」中巻P447、明治書院。ただしこの逸話の主人公である阮孚は竹林の七賢の一人阮咸を父に持ち本人も東晋で吏部尚書・広州刺史を務めた高官である。
- ^ “大阪歴史博物館:特別展:没後200年記念 木村蒹葭堂(きむらけんかどう)-なにわ 知の巨人-”. www.osakamushis.jp. 2024年1月19日閲覧。
- ^ ミヒェル (2005).
参考文献
- クシシトフ・ポミアン 『コレクション 趣味と好奇心の歴史人類学』 吉田城、吉田典子訳、平凡社、1992年
- ヴァルター・ベンヤミン 『パサージュ論V』 今村仁司、三島憲一ほか訳、岩波書店、1995年
- ジョン・エルスナー、ロジャー・カーディナル編 『蒐集』 高山宏ほか訳、研究社、1998年
- 春日武彦 『奇妙な情熱にかられて―ミニチュア・境界線、贋物、蒐集』 集英社新書、2005年
- ヴォルフガング・ミヒェル「万物の魅力 ー 信州飯田の市岡家コレクションとその位置づけについて」『生物学史研究』第75号、3-10頁、2005年
- 中村真一郎『木村蒹葭堂のサロン』新潮社 2000年
- 大阪歴史博物館編『木村蒹葭堂:なにわ知の巨人 (特別展没後200年記念)』 思文閣出版、2003年
関連項目
固有名詞の分類
- Collectionのページへのリンク