Groovy Tip 11 GDK的Object扩展方法

                       Groovy Tip 11 GDK的Object扩展方法
 
GDK对Java的Object类做了很多的扩展,但这些方法主要用于集合类和其他的组合类对象。其中,最著名的就是each方法,each方法在这里不再介绍,但其他一些方法也会比较常用。
1.       方法any
是指只要集合类对象中的任何一个元素符合闭包的条件,就返回true。如:
def list = [ 23 , 21 , 2 , 35 , 42 , 32 , 1 , 9 , 234 , 34 ]
     
      println list. any {
        it> 100
 }
 
结果为:
true
 
      def list = [ 23 , 21 , 2 , 35 , 42 , 32 , 1 , 9 , 234 , 34 ]
     
      println list. any {
         def result = it/ 3
        
        result> 100
 }
 
结果为:
false
 
2.       方法collect
是一个集合类对象元素收集方法,将集合类对象中所有元素作闭包的运算后组成一个新的集合类对象返回。如:
      def list = [ 23 , 21 , 2 , 35 , 42 , 32 , 1 , 9 , 234 , 34 ]
     
       def results = list. collect {
           it* 2
       }
      
    println results
 
结果为:
[46, 42, 4, 70, 84, 64, 2, 18, 468, 68]
 
 
3.       方法every
是指如果集合类对象中所有的元素都满足闭包条件,则返回true;否则,只要有一个元素不满足闭包条件,就返回false。
      def list = [ 23 , 21 , 2 , 35 , 42 , 32 , 1 , 9 , 234 , 34 ]
     
       println list. every {
           it> 2
    }
 
结果为:
false
 
      def list = [ 23 , 21 , 2 , 35 , 42 , 32 , 1 , 9 , 234 , 34 ]
     
       println list. every {
           it> 0
    }
 
结果为:
true
 
 
4.       方法findAll
将集合类对象中所有满足闭包条件的元素组成一个新的集合类对象返回。如:
      def list = [ 23 , 21 , 2 , 35 , 42 , 32 , 1 , 9 , 234 , 34 ]
     
      
       def results = list. findAll {
           it> 40
       }
      
    println results
 
结果为:
[42, 234]
 
 

你可能感兴趣的:(Groovy Tip 11 GDK的Object扩展方法)