groovy找到数组里的重复元素的下标

def haveRepetArray=[1,5,1,6,8,2,9,4,12]
  def findRepetition=[:]//找到重复的,重复的map值大于1不重复的值等于1
  def repetitionRes=[]//重复的结果
  def norepetitionRes=[]//不重复的结果
  def arrElemIndex=[]//得到重复元素的下标
  def mapElemindex=[:]//通过键值的方式存储重复元素
haveRepetArray.each{a->
      if(findRepetition[a]==null){//如果这个map里没有这个键的时候就给值1,
          findRepetition[a]=1  
      }else{//如果这个map里有这个键的时候说明他是重复的就把值加1
          findRepetition[a]=findRepetition[a]+1
      }
  }
findRepetition.each{m->
    if(m.value>1){//编历如果这个map键的值大于1说明就是重复的把他放到一个数组里
        repetitionRes+=m.key
    }else{//说明不是重复的把他放到另外一个数组里
        norepetitionRes+=m.key
    }
}
repetitionRes.each {entry ->//遍历重复的数组
    def tempArr=[]
    haveRepetArray.eachWithIndex {r,j->//遍历原始数组
     if(entry==r){//如果重复数组里的值等于原始数组里的值就把这个无素的索引放到一个新的数组里
         tempArr+=j//只取原始数组的索引
     }   
    }
    mapElemindex[entry]=tempArr//以键值对的方式存储数组
    arrElemIndex<<tempArr //添加一个新数组
} 
println arrElemIndex
println mapElemindex

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...