首页 > 其他分享 >Groovy中的元组

Groovy中的元组

时间:2023-08-20 10:05:06浏览次数:27  
标签:Groovy tuple Tuple 元组 Tuple2 println new def

Groovy元组是有序的,不变的元素列表。Groovy有自己的groovy.lang.Tuple类。我们可以通过构造函数Tuple提供需要包含在其中的所有元素来创建一个实例Tuple。我们不能将新元素添加到Tuple实例或删除元素。我们甚至不能更改元组中的元素,因此它是完全不变的。这使得它非常适合用作需要返回多个值的方法的返回值。Groovy还提供了一个Tuple2仅可用于两个元素的元组实例的类。元素在Tuple2实例中键入。

在以下示例中,我们看到TupleTuple2类的不同用法:

package com.FunTester.demo

import com.fun.frame.SourceCode

class demo5 extends SourceCode {

    public static void main(String[] args) {
        def tuple = new Tuple('one', 1, getJson("demo=1"))
        println tuple.size() == 3
        println tuple.get(0) == 'one'
        println tuple[1] == 1
        println tuple.last().demo == 1
        //尝试修改tuple
        try {
            tuple.add('extra')
            println false
        } catch (Exception e) {
            println e
        }
        try {
            tuple.remove('one')
            println false
        } catch (Exception e) {
            println e
        }
        try {
            tuple[0] = 'new value'
            println false
        } catch (Exception e) {
            println e
        }
        //tuple2  Demo 到tuple9
        def pair = new Tuple2('two', 2)
        println pair.first == 'two'
        println pair.second == 2
        def tuple3 = new Tuple3("true", 3, 4)
        println tuple3.third

        def (String a, Integer b) = dd('sum', 1, 2, 3)
        println a == 'sum'
        println b == 6
    }

    static def dd(String key, int ... values) {
        new Tuple2(key, values.sum())
    }

}

标签:Groovy,tuple,Tuple,元组,Tuple2,println,new,def
From: https://blog.51cto.com/FunTester/7157542

相关文章

  • 03-04 基本数据类型(列表、元组、字典、集合)
    一、列表1、访问列表中的值list=['red','green','blue','yellow','white','black']print(list[0])#'red'print(list[1])print(list[2])print(list[-1])#blackprint(list[-2])#whiteprint(li......
  • 总结python 元组和列表的区别
    python的基本类型中有元组和列表这么俩个,但是这哥俩却比较难于区分,今天就来用简单的实例说明两者的不同。列表:1.使用中括号([])包裹,元素值和个数可变实例:aaa=['sitename','www','pythontab','com']元组:1.使用中括号(())包裹,不可以被更改(尽管他们的内容可以)bbb=['sitename','www','py......
  • python 由m列元组组成的列表 生成表格 不想形成m行, 只想形成1行
    python由m列元组组成的列表生成表格不想形成m行,只想形成1行list_1=list(range(3))list_2=['col'+str(i)foriinlist_1]dict_1={key:str(value)forkey,valueinzip(list_2,[list_1]*3)}#pd.DataFrame(dict_1)#ValueError:Ifusingallscalarva......
  • typeScript学习-TS类型-其他特殊类型-可变元组
    typeScript学习可变元组:letpeople:[string,number,string,string,string]=["wangwu",23,"地址",'13312341234','备注']//当前三个数据固定格式,后面数据不确认格式时用可变元组//可变元组//letcustomers:[string,number,string,...any[]]=[&qu......
  • typeScript学习-TS类型-其他特殊类型-元组(tuple)
    typeScript学习元组(tuple):满足以下3点的数组就是元组(1)在定义时每个元素的类型都是确定(2)元素值的数据类型必须是当前元素定义的类型(3)元素值的个数必须和定义时个数相同 letsalary:[string,number,number,number,number]=["zhangsan",5000,5000,5000,5000] ......
  • 05_元组
    #tuple元组,特点:不可变的列表t=("aaa","ccc","bbb")print(t)print(t[1:3])#元组如果只有一个元素(*),需要在元素的末尾添加一个逗号#t=("哈哈")#()默认是优先级#print(t)#print(type(t))#关于元组的不可变(坑),内存地址不能变t=(1,2,3,["呵呵","么......
  • Python PIL Image.crop()详解+裁剪四元组定位的小技巧
    0Image.crop详解image.crop是Python中用于裁剪图片的函数。在使用该函数前,我们需要先导入PIL库,即PythonImageLibrary。fromPILimportImage#打开图片img=Image.open('example.jpg')#图片的裁剪区域(区域左上角的坐标为(100,100),右下角的坐标为(300,300))crop_are......
  • 数组及元组
    第3章数组及元组3.1定长数组定义长度不变的数组可以使用ArrayScala数组的底层实际上是Java数组。例如字符串数组在底层就是Java的String[],整数数组在底层就是Java的Int[]valnums=newArray[Int](10)//生成10个整数的数组,所有元素初始化为0valnums=newArray[String](......
  • 创建元组的三种方式、字典中的setdefault和get妙用、类中的重载方法__add__()
    创建元组的三种方式#print(tuple([input(),input()]))#print((input(),input()))t=input(),input()print(t)#可以将列表转换成tuple,也可以直接()创建tuple,或者将多个变量赋值给一个值会自动转换成tuple字典中的setdefault和get妙用setdefault类似get方法w=input()......
  • 打动你朋友的11条Groovy超炫代码
    DustinMarx在其博文中,跟读者分享了11条Groovy的超炫代码。List中的每个元素乘2:1 (1..10)*.multiply(2)List求和:1 //元素均为为数字2 (1..1000).sum()3 //元素含有字符4 ['a',3,'z'].sum()//结果为字符串‘a3z’List中是否含有某个字符串1 defwordList=['groovy','akka'......