`
robinfung
  • 浏览: 55116 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

myAlgorithm

阅读更多

1. Multiple sorting

How Java? reference this

http://stackoverflow.com/questions/1421322/how-do-i-sort-a-list-with-multiple-sort-parameters

 

How Groovy? only one recursive + dynamic can instand the enum class(or switch statement).

 

class Clazz {
    String name
    String uid
    String firstName
    String lastName
}

Clazz c = new Clazz(name : "Andy", uid :1, firstName: 1, lastName: 1)
Clazz c1 = new Clazz (name: "Andy", uid: 2, firstName: 1, lastName: 1)
Clazz c2 = new Clazz (name: "Andy", uid: 2, firstName: 2, lastName: 1)
Clazz c3 = new Clazz (name: "Andy", uid: 2, firstName: 2, lastName: 2)
def objects = [c,c1,c2,c3]
def properties = ["name"]
sorting(objects, properties).each {
    println "============="
    println it.name+" "+it.uid+" "+it.firstName+" "+it.lastName
}

protected def sorting(List<?> items, List properties){   
    items.sort {i1, i2-> 
        println "---------------------"
        println i1.name+" "+i1.uid+" "+i1.firstName+" "+i1.lastName
        println i2.name+" "+i2.uid+" "+i2.firstName+" "+i2.lastName    
        compare(i1, i2, properties, 0)    
    } 
}   


private def compare(i1, i2, properties, i){
    def flag = i1."${properties[i]}" <=> i2."${properties[i]}"
    if(flag == 0 && properties.size()>1){
        compare(i1, i2, properties, i+1)
    } else {
        return flag
    }
}

分享到:
评论

相关推荐

    my algorithm

    "my algorithm"是一种内存管理算法,它主要关注的是如何有效地分配和管理计算机内存。在操作系统和编程语言中,内存管理是至关重要的,因为它直接影响到程序的性能和稳定性。"first-fit"是该算法的一个关键特性,它...

    MyAlgorithm:各个渠道算法题刷题记录,目前是LeetCode

    《MyAlgorithm:C++刷题记录与LeetCode算法解析》 在编程领域,尤其是在准备面试或者提升自身技术能力的过程中,算法题的练习是必不可少的一部分。LeetCode作为一个知名的在线平台,提供了大量的算法题目供程序员们...

    MyAlgorithm:알고리즘기

    "MyAlgorithm"项目,作为一个专注于算法实践的资源,旨在帮助开发者深化对算法的理解,提升编程技能,特别是通过Java语言来实现。在这个项目中,你将找到一系列精心设计的算法实现,以及对它们的深入解析。 Java...

    vs2013_project.zip

    MyAlgorithm algorithmFunction = (MyAlgorithm)GetProcAddress(libHandle, "myAlgorithmFunction"); if (algorithmFunction != NULL) { algorithmFunction(someValue); } else { // 处理函数指针获取失败的...

    fingerprint.rar_audio fingerprint_ideas_landmark_shazam

    I don t know if my algorithm is as good as theirs, but the approach, as described in the paper below, certainly seems to work: Avery Wang An Industrial-Strength Audio Search Algorithm , Proc. 2003 ...

    matlab 打包成jar 后端代码代用

    例如,`mcc -W jar:myJarFile.jar -T link:lib myAlgorithm.m`将`myAlgorithm.m`打包成名为`myJarFile.jar`的JAR文件。`-W jar`指定输出格式为JAR,`-T link:lib`表示将代码链接为库。 4. **生成Java接口**:MATLAB...

    leetcode正方形坐标-MyAlgorithm:上传自己刷过的题

    leetcode正方形坐标 leetcode 比较经典的算法 剑指offer 公司笔试真题 :artist_palette: 算法 简单 中等 :pencil: 比较经典的算法 ...「比如输入abada则返回aba,输入aaaa则返回aaaa」 「利用动态规划记录ij位置上是否...

    iar.rar_IAR_KCG_NT1W_数值算法/人工智能

    6. **ADI3myalgorithm.m**:这个文件名可能表示这是一个使用MATLAB编写的算法,其中"ADI"可能代表Analog Devices Inc.,一家知名的半导体公司,而"3myalgorithm"可能是用户自定义的三次迭代算法或者其他某种数值计算...

    my-java-algorithm

    【标题】"my-java-algorithm" 是一个与Java算法相关的项目,显然,它是一个用于学习和实践Java编程语言中各种算法的平台。这个项目可能是由一位开发者创建的,旨在提升其在数据结构和算法方面的技能。 【描述】"我...

    Python库 | algorithm_logger-0.0.1-py2.py3-none-any.whl

    alg_log.start_algorithm('MyAlgorithm') # ...执行算法的代码... alg_log.end_algorithm() ``` 在实际应用中,`algorithm_logger`可能会提供一些高级功能,如: 1. **算法性能分析**:记录算法的执行时间,帮助...

    advanusgee__Kalman__Kalman.rar_大数据_粒子滤波

    "A98myalgorithm.m"可能是包含这两种滤波算法实现的MATLAB代码文件。 **卡尔曼滤波器(Kalman Filter)** 卡尔曼滤波是一种在线性高斯系统的估计理论中广泛应用的算法,它利用统计学中的最小二乘法和最优估计理论,...

    My-Algorithm-Implemntation-:这是我用于解决问题的算法

    在本项目"My-Algorithm-Implementation-"中,作者分享了他/她用于解决特定问题的算法实现,主要语言为C++。C++是一种强类型、面向对象的编程语言,以其高效性能和灵活性而闻名,常被用于系统软件、游戏引擎、嵌入式...

    RBF改进算法的Q-Learing路径规划MATLAB仿真_QlearningMATLAB_qlearning_Q算法_qlea

    - `MyAlgorithm.m`:可能包含了RBF改进的Q-Learning算法实现。 - `InitrialQ.m`:初始化Q表的函数,是Q-Learning的起点。 - `Sensor.m`:可能涉及到环境感知或传感器模型,为Q-Learning提供状态信息。 - `ga.m`:...

    Python库 | quantconnect_stubs-11069-py2-none-any.whl

    class MyAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2010, 1, 1) self.SetEndDate(2020, 12, 31) self.SetCash(100000) self.AddEquity("SPY") ``` 在这个例子中,`QCAlgorithm`就是从...

    根据您的浏览习惯生成的自托管推荐提要_JavaScript_SCSS_下载.zip

    在“myAlgorithm-main”这个文件夹中,可能包含了项目的SCSS源码,可能包含各种组件、主题或者特定于推荐系统的样式定义。 在自托管的推荐提要系统中,一般会涉及以下几个关键知识点: 1. 数据收集:系统需要收集...

    客户验收,客户验收单模板,matlab

    4. "MyAlgorithm.m"可能包含了自定义的Q-Learning算法实现。 5. "InitrialQ.m"可能是初始化Q表的函数。 6. "Sensor.m"可能涉及到环境感知或传感器数据处理。 7. "InitrialQ_Poe.m"可能是另一种初始化Q表的方法,"Poe...

    C#算法实现(哈希表 图 二叉树 KMP prim 最短路径 各种排序)

    本压缩包文件"我的算法"(MyAlgorithm)显然包含了一些核心的算法实现,包括哈希表、图算法、二叉树、KMP字符串匹配算法、Prim最小生成树算法以及各种排序算法。让我们逐一深入探讨这些知识点。 1. **哈希表**:...

    C# 中使用matlab参数传递

    sensitivity = (MWNumericArray)myClass.myAlgorithm((MWArray)FileName); ``` 3. **数组和矩阵的传递** - 数组和矩阵是 MATLAB 中最常见的数据结构。在 C# 中,可以使用 `MWNumericArray` 来表示 MATLAB 中的...

Global site tag (gtag.js) - Google Analytics