首页 > 编程知识 正文

list底层实现,java元组

时间:2023-05-03 07:17:10 阅读:116802 作者:854

Java元组tuple

Pair类是元组JavaTuples库中,与两种元素的交集。 因为此Pair是泛型类,所以可以包含任何类型的值。

因为Pair是元组,所以它具有JavaTuples的所有特征。

类型安全

输入可移植

可重复

可序列化

可比较(实现可比较) )

实现equals (和hashCode )

实现toString

Pair类声明

publicfinalclasspairextendstuple

implements IValue0,IValue1

Pair类层次结构

对象

org.javatuples.Tuple

org.javatuples.Pair

创建元组Pair类

来自构造函数:语法:

pairpair=newpair(value1,value2);

示例:

//below is a Java程序到创建

//a Pair tuple from Constructor

import java.util.*;

import org.javatuples.Pair;

class GfG {

publicstaticvoidmain (字符串[ ] args ) )。

{

Pair pair

=newPair(integer.valueof(1)、' breakyizhan ' );

system.out.println(pair;

}

}

输出:

[1,breakyizhan]

with (使用方法: with )方法是JavaTuples库中提供的函数,它使用这些值实例化对象。 语法:

pairpair=pair.with(value1,value2);

示例:

//below is a Java程序到创建

//a Pair tuple from with () method

import java.util.*;

import org.javatuples.Pair;

class GfG {

publicstaticvoidmain (字符串[ ] args ) )。

{

Pair pair

=Pair.with(integer.valueof(1),' breakyizhan ' );

system.out.println(pair;

}

}

输出:

[1,breakyizhan]

来自其他集合: fromCollection (方法用于从集合创建元组,而fromArray )方法用于从数组创建元组。 集合/数组与Tuple的类型相同,并且集合/数组中的值的数量必须与Tuple类匹配。 语法:

pair pair=pair.from collection (collection with _2_ value );

pair pair=pair.from array (array with _2_ value );

示例:

//below is a Java程序到创建

//a Pair tuple from Collection

import java.util.*;

import org.javatuples.Pair;

class GfG {

publicstaticvoidmain (字符串[ ] args ) )。

{

//Creating Pair from List

列表列表=new ArrayList (;

list.add(geeksforgeeks );

list.add (计算机门户);

Pair pair

=Pair.fromcollection(list );

//Creating Pair from Array

String[] arr={ 'breakyizhan ',' a计算机门户' };

Pair otherPair

=Pair.fromarray(arr );

system.out.println(pair;

system.out.println(otherpair );

p>}

}

输出:

[breakyizhan,A computer portal]

[breakyizhan,A computer portal]

Pair类获得value值

getValueX*() 方法可用于获取索引X处的元组中的值。元组中的索引从0开始。因此索引X处的值表示位置X + 1处的值。

语法:

Pair pair =

new Pair(value1, value2);

type1 val1 = pair.getValue0();

示例:

// Below is a Java program to get

// a Pair value

import java.util.*;

import org.javatuples.Pair;

class GfG {

public static void main(String[] args)

{

Pair pair

= Pair.with(Integer.valueOf(1), "GeeksforGeeks");

System.out.println(pair.getValue0());

}

}

输出:

1

Pair类设置配对值

由于元组是不可变的,这意味着无法修改索引处的值。因此,JavaTuples提供setAtX(value),它在索引X处创建一个带有新值的元组副本,并返回该元组。

语法:

Pair pair =

new Pair(value1, value2);

type1 val1 = pair.getValue0();

示例:

// Below is a Java program to set

// a Pair value

import java.util.*;

import org.javatuples.Pair;

class GfG {

public static void main(String[] args)

{

Pair pair

= Pair.with(Integer.valueOf(1), "GeeksforGeeks");

Pair otherPair

= pair.setAt1("A computer portal");

System.out.println(otherPair);

}

}

输出:

[1,A computer portal]

Pair类添加值

可以在addAtX() 方法的帮助下添加值,其中X表示要添加值的索引。此方法返回元素的元组,比被调用的元组多一个。

语法:

Pair pair =

new Pair(value1, value2);

Triplet pair =

pair.addAt2(value 2);

示例:

// Below is a Java program to add

// a value

import java.util.*;

import org.javatuples.Pair;

import org.javatuples.Triplet;

class GfG {

public static void main(String[] args)

{

Pair pair

= Pair.with(Integer.valueOf(1), "breakyizhan");

Triplet triplet

= pair.addAt2("A computer portal");

System.out.println(triplet);

}

}

输出:

[1,breakyizhan,A computer portal]

在Pair类中搜索

可以使用预定义的方法contains()在元组中搜索元素。无论值是否存在,它都返回一个布尔值。

语法:

Pair pair =

new Pair(value1, value2);

boolean res = pair.contains(value2);

示例:

// Below is a Java program to search

// a value

import java.util.*;

import org.javatuples.Pair;

class GfG {

public static void main(String[] args)

{

Pair pair

= Pair.with(Integer.valueOf(1), "GeeksforGeeks");

boolean exist = pair.contains("GeeksforGeeks");

boolean exist1 = pair.contains(4);

System.out.println(exist);

System.out.println(exist1);

}

}

输出:

true

false

通过pair类迭代

由于Pair实现了Iterable 接口。这意味着它们可以以与集合或数组相同的方式进行迭代。

语法:

Pair pair =

new Pair(value1, value2);

for (Object item : pair) {

...

}

示例:

// Below is a Java program to iterate

// a Pair

import java.util.*;

import org.javatuples.Pair;

class GfG {

public static void main(String[] args)

{

Pair pair

= Pair.with(Integer.valueOf(1), "breakyizhan");

for (Object item : pair)

System.out.println(item);

}

}

输出:

1

breakyizhan

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。