zoukankan      html  css  js  c++  java
  • 不排序和可以重复Key的SortedList。

    同事想实现一个保留添加顺序的字典表,用Hashtableb不能满足要求,普通的SortedList会自动排序,看了一下帮助,实现方法非常简单,代码如下:

    using System;
    using System.Collections;

    namespace testSortedList
    {
        
    class Class1
        {
            [STAThread]
            
    static void Main(string[] args)
            {
                SortedList sl 
    = new SortedList(new MySort());        //不排序
                sl.Add(333,333);
                sl.Add(
    111,111);
                sl.Add(
    222,222);
                sl.Add(
    111,112);

                PrintList(sl);

                Console.ReadLine();
            }

            
    private static void PrintList(SortedList sl)
            {
                
    for(int i=0;i<sl.Count ;i++)
                {
                    Console.WriteLine(
    "{0}\t{1}",sl.GetKey(i),sl.GetByIndex(i));
                }
    //end for
            }//end fn()

        }
        
    public class MySort:IComparer
        {
            
    #region IComparer 成员
            
    public int Compare(object x, object y)
            {
                
    return -1;

                
    //排序
    //            int iResult = (int)x - (int)y;
    //            if(iResult == 0) iResult = -1;
    //            return iResult;

            }
            
    #endregion
        }

    }

    只要Compare函数的返回结果不等于0就可以添加相同的Key,这样可以实现既可以排序,又可以有相同的Key值,可能在某些情况下会用得到。
  • 相关阅读:
    使用beanUtils操纵javabean
    反射
    JDK5.0新特性(静态导入、自动装箱/拆箱、增强for循环、可变参数、枚举、泛形)
    Junit测试框架
    Eclipse常用快捷键
    Linux最全基础指令
    log file sync等待事件
    数据库要不要部署在docker容器内?
    MySQL启动报错-The server quit without updating PID file[FAILED]mysql/mysql.pid).
    MySQL数据库启动异常-[ERROR] [MY-011971]
  • 原文地址:https://www.cnblogs.com/Pharaoh/p/156202.html
Copyright © 2011-2022 走看看