zoukankan      html  css  js  c++  java
  • 集合的遍历和扩容原理

     一.泛型集合

    双列泛型的三种遍历:

    Dictionary<string,Student> dic=new Dictionary<string,Student>();
    dic.add("张三",stu1);
    dic.add("李四",stu2);

     (1)

    foreach(string item in dic.Keys)
    {
    Student stu=dic[item];
    }

        (2)

    foreach(Student item in dic.Values)
    {
         Console.WriteLine(item);
    }

        (3)

    foreach(KeyValuePair<string,Student> item in dic)
    {
    //item=key+Value
    item.Key
    item.Value
    }

    //数据绑定 List<UserInfo> list ----单列绑定
    dgvList.DataSource=new BindingList<UserInfo>(list);
    --------------------------------------------------------------

    双列绑定
    Dictionary<string,Student> dic=new Dictionary<string,Student>();
    BindingSource bs=new BindingSource();
    bs.DataSource=dic.Values;
    dgvList.DataSource=bs;

    二.集合的扩容原理

    当调用Add()方法时,先判断集合中元素的个数和保存元素的个数的数组长度是否一致,再决定是否扩容

    如果数组长度小于需要长度就扩容,

    如果数组长度不等于0就将数组的长度*2

    ***注:扩容的上限为0x7fefffff约21亿

    再调用Capacity的set方法利用数组间的copy方法(新数组的长度是旧数组的二倍)给数组扩容

    三.方法重载可变参数

    C#      可变的
    public void say(params object[] objs)
    {

    }
    public static int ExecuteNonQuery(string cmdTxt, params SqlParameter[] parames)
    {
    return ExecuteNonQuery(cmdTxt, CommandType.Text, parames);
    }

    JAVA

    public ResultSet executeQuery(String sql,Object... objs) throws Exception{
        con=getConnection();
        ps = con.prepareStatement(sql);
        for (int i = 0; i < objs.length; i++) {
        ps.setObject(i+1, objs[i]);
           }
           rs= ps.executeQuery();
           return rs;
    }

    四.对象间的交互.

     UML(Uniform Model Language)统一建模语言:

     StarUML:

      类图

    用例图

    序列图/时序图

  • 相关阅读:
    机器学习项目流程
    机器学习之数据归一化问题
    python三数之和
    从不订购的客户
    case when then的用法-leetcode交换工资
    .NET Core Api 集成 swagger
    .NET CORE 2.1 导出excel文件的两种方法
    Dapper的基本使用
    (转)深入研究MiniMVC之后续篇
    (转)深入研究 蒋金楠(Artech)老师的 MiniMvc(迷你 MVC),看看 MVC 内部到底是如何运行的
  • 原文地址:https://www.cnblogs.com/wy0119/p/7016920.html
Copyright © 2011-2022 走看看