using System;
using System.Collections.Generic; //List所在名称空间
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections; //ArrayList 所在名称空间
namespace CSharpTest
{
class Program
{
class student
{
public student(string _name, int _id)
{
name = _name;
id = _id;
}
public string name;
public int id;
}
private static void printMsg(object[] obj)
{
student stu = (student)obj[4];
Console.Write("name:" + stu.name + "\nid:" + stu.id);
}
static void Main(string[] args)
{
LinkedList<int> linkList = new LinkedList<int>();//双向链表,猜测内部是用链表存储的,网上说的都是这个链表从中间增删消耗小
linkList.AddLast(9);//尾部插入数据
linkList.AddLast(7);//尾部插入数据
linkList.AddFirst(6);//头部插入数据
linkList.RemoveLast();//移除尾部数据
linkList.Remove(6); //移除特定值数据
linkList.RemoveFirst();//移除头部数据
for (int i = 0; i < 100; i++)
{
linkList.AddLast(i);
}
LinkedListNode<int> node = linkList.Find(6);
linkList.AddAfter(node, 7999);//在6后面插入999,这个node 是属于linkList的节点
List<int> list = new List<int>(); //数组链表,猜测内部是连续内存存储的,网上说的都是这个链表从中间增删消耗大
list.Add(6);
int[] arr = new int[] { 1, 2, 3, 4, 5 };
list.AddRange(arr);
List<student> stu = new List<student>();
for (int i = 0; i < 100; i++)
{
stu.Add(new student(i.ToString(), i));
}
int index = stu.FindIndex((student s) => s.name.Contains("6")); //找到返回找到的第一个包含‘6’的index
int index1 = stu.FindIndex((student s) => s.name.Contains("d"));//找不到返回-1
}
}
}