📚Collections

List

public class Actor
{
    public int actor_id { get; set; }
    public string first_name { get; set; }
    public string last_name { get; set; }
    public string last_update { get; set; }
}

Dictionary<int, Actor> dicData = getData(10);
List<int> actor_id = dicData.Keys.ToList();
List<Actor> actors = dicData.Values.ToList();

actors.Sort((a, b) =>
{
    return -a.actor_id + b.actor_id;
});

actors.Reverse();

for (int i = 0; i < actors.Count; i++)
{
    Console.Write(actors[i].last_name);
    Console.Write(" ");
}
Console.WriteLine();

Console.WriteLine("List<Actor> aa = actors.Skip(0).Take(2).ToList();");
// actors.Take(9) ėē˜ėŒëķ€í„° 9ëēˆėļ덱ėŠĪęđŒė§€ ėą™ęđ€.
// .Skip(2) ėīė „ ęē°ęģžëŽžė—ė„œ ė•ž 2ëēˆ ėļ덱ėŠĪęđŒė§€ ėŠĪí‚ĩ.
List<Actor> aa = actors.Take(9).Skip(2).ToList();
for (int i = 0; i < aa.Count; i++)
{
    Console.Write(aa[i].last_name);
    Console.Write(" ");
}
Console.WriteLine();

Console.WriteLine("aa.RemoveAt(0);");
aa.RemoveAt(0);
for (int i = 0; i < aa.Count; i++)
{
    Console.Write(aa[i].last_name);
    Console.Write(" ");
}
Console.WriteLine();

Console.WriteLine("aa.RemoveRange(0, 2);");
aa.RemoveRange(0, 2);
for (int i = 0; i < aa.Count; i++)
{
    Console.Write(aa[i].last_name);
    Console.Write(" ");
}
Console.WriteLine();

Console.WriteLine("aa.Insert(1, new Actor { last_name= \"yang\" });");
aa.Insert(1, new Actor { last_name= "yang" }); // 멇ëēˆ ėļ덱ėŠĪė— í•īë‹đ ė•„ėī템ėī ė˜Ī도록.
for (int i = 0; i < aa.Count; i++)
{
    Console.Write(aa[i].last_name);
    Console.Write(" ");
}
Console.WriteLine();

Console.WriteLine("aa.InsertRange(1, bb);");
List<Actor> bb = new List<Actor>(aa);
aa.InsertRange(1, bb);
for (int i = 0; i < aa.Count; i++)
{
    Console.Write(aa[i].last_name);
    Console.Write(" ");
}
Console.WriteLine();

Stack

foreach (Actor a in actors)
{
    Console.WriteLine(a.actor_id);
}
Console.WriteLine("stack create");
Stack<Actor> stack = new Stack<Actor>(actors);

// actors: 1,2,3,4
// stack: 4,3,2,1

foreach (Actor a in stack)
{
    Console.WriteLine(a.actor_id);
}

Console.WriteLine("peek {0}", stack.Peek().actor_id);
Console.WriteLine("pop {0}", stack.Pop().actor_id);

foreach (Actor a in stack)
{
    Console.WriteLine(a.actor_id);
}
Console.WriteLine(string.Format("first {0}, last {1}", stack.First().actor_id, stack.Last().actor_id));

Queue

Queue<Actor> queue = new Queue<Actor>(actors);

foreach (Actor a in queue)
{
    Console.WriteLine(a.actor_id);
}
Console.WriteLine("EnQueue");
queue.Enqueue(new Actor());
foreach (Actor a in queue)
{
    Console.WriteLine(a.actor_id);
}

Console.WriteLine("DeQueue");
Actor de = queue.Dequeue();
foreach (Actor a in queue)
{
    Console.WriteLine(a.actor_id);
}
Console.WriteLine("first");
Console.WriteLine(queue.First().actor_id);
Console.WriteLine("last");
Console.WriteLine(queue.Last().actor_id);

Dictionary

dicData.Add(actor.actor_id, actor);
// ė•ˆë˜ëŠ”ęą°
for (int i = 0; i < dicData.Count; i++)
{
    Console.WriteLine(dicData[i].actor_id);
}

foreach (KeyValuePair<int, Actor> pair in dicData)
{
    Console.WriteLine(pair.Value.actor_id);
}

Dictionary<int, Actor> actors2 = actors.ToDictionary(x => x.actor_id);

foreach (KeyValuePair<int, Actor> pair in actors2)
{
    Console.WriteLine(
        string.Format("{0}: {1,10},{2,20},{3,20},{4,20}"
        , pair.Key, pair.Value.actor_id, pair.Value.last_name, pair.Value.first_name, pair.Value.last_update));
}

Dictionary<string, int> dicTest1 = new Dictionary<string, int>();
dicTest1.Add("aaa0", 111);
dicTest1.Add("aaa1", 222);
dicTest1.Add("aaa2", 333);
dicTest1.Add("aaa3", 444);

dicTest1.Values.ToList().ToArray().ToList().ForEach((x) =>
{
    Console.WriteLine(x);
});

Last updated