精华内容
下载资源
问答
  • pair

    2020-01-10 17:46:38
    pair<T1, T2> p1; //创建一个空的pair对象(使用默认构造),它的两个元素分别... //创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2。 make_pair(v1, v2); ...
    pair<T1, T2> p1;           //创建一个空的pair对象(使用默认构造),它的两个元素分别是T1和T2类型,采用值初始化。
    pair<T1, T2> p1(v1, v2);   //创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2。
    make_pair(v1, v2);         // 以v1和v2的值创建一个新的pair对象,其元素类型分别是v1和v2的类型。
    p1 < p2;                   // 两个pair对象间的小于运算,其定义遵循字典次序:如 p1.first < p2.first 或者 (p2.first == p1.first) && (p1.second < p2.second) 则返回true。
    p1 == p2;                 // 如果两个对象的first和second依次相等,则这两个对象相等;该运算使用元素的==操作符。
    p1.first;                  // 返回对象p1中名为first的公有数据成员
    p1.second;                 // 返回对象p1中名为second的公有数据成员
    
    
    展开全文
  • 创建一个Tuple

    2015-05-22 15:50:24
    比如我要存放的数据来自数据库,SELECT distinct host,platform FROM "Log_loginfo",host 和 platform 是一个pair 对象,用字符串串接麻烦又有提取回来失误的风险,用map本质上是key-value的关系而不是pair关系,...

    目标:做一个tuple 存放pair 对象

    例子:

    比如我要存放的数据来自数据库,SELECT distinct host,platform FROM "Log_loginfo",host 和 platform 是一个pair 对象,用字符串串接麻烦又有提取回来失误的风险,用map本质上是key-value的关系而不是pair关系,因此,使用tuple来解决。


    tuple.java

    package j2seTest2;
    
    import java.io.Serializable;
    
    public class Tuple<L, R> implements Serializable {
    	
    	private static final long serialVersionUID = 1L;
    
    	/** The left object. */
        public L left;
    
    	/** The right object. */
        public R right;
        
        /** Construct a tuple with the specified two objects. */
        public Tuple(L left, R right) {
            this.left = left;
            this.right = right;
        }
        
        /** Construct a blank tuple. */
        public Tuple() {
        }
        
        /**
         * Returns the combined hashcode of the two elements.
         */
        public int hashCode() {
            return left.hashCode() ^ right.hashCode();
        }
        
        /**
         * Generates a string representation of this tuple.
         */
        public String toString() {
            return "[left=" + left + ", right=" + right + "]";
        }
        
        /**
         * A tuple is equal to another tuple if the left and right elements
         * are equal to the left and right elements (respectively) of the
         * other tuple.
         */
    	@SuppressWarnings("rawtypes")
    	public boolean equals(Object other) {
    		if (this == other) {
    			return true;
    		}
    		if (other == null) {
    			return false;
    		}
    		if (getClass() != other.getClass()) {
    			return false;
    		}
    		if (other instanceof Tuple) {
    			Tuple to = (Tuple) other;
    			return (left.equals(to.left) && right.equals(to.right));
    		}
    		return false;
    	}
    }
    

    TupleTest.java

    package j2seTest2;
    
    import java.util.HashSet;
    
    public class TupleTest {
    
    	public static void main(String[] args) {
    		
    		Tuple<String, String> tempxY1 = new Tuple<String, String>();
    		Tuple<String, String> tempxY2 = new Tuple<String, String>();
    		HashSet<Tuple<String, String>> xYSet = new HashSet<Tuple<String, String>>();
    		
    		String xStr = "x1";
    		tempxY1.left = "x1";
    		tempxY1.right = "y1";
    		tempxY2.left = xStr;
    		tempxY2.right = "y1";
    		xYSet.add(tempxY1);
    		
    		if (xYSet.contains(tempxY2)) {
    			System.out.println("contains-Yes");		// value compare
    		} else {
    			System.out.println("contains-No");		// object compare
    		}
    	}
    
    }
    

    解释:

    set contains 方法会调用包含对象的hashcode 和 equals 方法,这里tuple的hashcode 和 equals 方法已经特别改写,适合String值比较。


    Reference:

    http://blog.csdn.net/renfufei/article/details/14163329


    展开全文
  • 创建Java中的Pair

    万次阅读 2015-11-19 19:28:27
    今天在写一个机器学习算法的时候,突然感觉需要一个Pair来存储临时数据。 立马写一个来用用。就提供了get、set方法(如果以后需要其他接口方法,再补充吧)。 采用泛型,保证Pair类的通用性,并把这个Pair类称为...

    感觉C++中的Pair对象很好用,但平时C++编码还是比较少,用的最多的是Java。今天在写一个机器学习算法的时候,突然感觉需要一个Pair来存储临时数据。

    立马写一个来用用。就提供了get、set方法(如果以后需要其他接口方法,再补充吧)。

    采用泛型,保证Pair类的通用性,并把这个Pair类称为GenericPair。

     其他的不多说,先上代码。

    package com.mydomainname.basicds;
    
    /**
     * 
     * @author wy_okmeiyu from CSDN
     * @QQ     You can't see
     * @Version 1.0
     * @TODO: 创造一个类似C++中的Pair类
     * @UpdateDate: 2015-11-19
     * @param <E>
     */
    public class GenericPair<E extends Object, F extends Object> {
    	private E first;
    	private F second;
    	
    	public GenericPair(){
    		
    	}
    	
    	public E getFirst() {
    		return first;
    	}
    	public void setFirst(E first) {
    		this.first = first;
    	}
    	public F getSecond() {
    		return second;
    	}
    	public void setSecond(F second) {
    		this.second = second;
    	}
    	
    	
    }
    

    展开全文
  • pair的使用

    2019-12-27 18:49:19
    1.pair的用法: pair<...p(v1,v2) ,创建一个pair对象,元素类型为T1,T2,first为v1,first为v2 mair_pair(v1,v2) , 以v1,v2创建一个新的pair对象 p1<p2 , 遵循字典次序,如果p1.first ...
    1.pair的用法:
    1. pair<T1,T2>p , 创建一个空的pair对象,元素分别为T1,T2.
    2. pair<T1,T2>p(v1,v2) ,创建一个pair对象,元素类型为T1,T2,first为v1,first为v2
    3. mair_pair(v1,v2) , 以v1,v2创建一个新的pair对象
    4. p1<p2 , 遵循字典次序,如果p1.first = p2.first,比较p2的大小,如果是升序则返回true
    5. p.first , 返回p1中的首个成员
    2.pair的创建和初始化

    在创建pair对象时,必须提供两个类型名,两个对应的类型名的类型不必相同

    pair<string ,string>a;
    pair<string , int >a;
    pair<string , vector<int> >a;
    

    也可以在定义的同时进行成员初始化:

    pair<string , string >a("tom","bob");
    pair<string , int >a("tom",20);
    

    如果定义多个相同的pair类型对象,可以使用typedef简化声明:typedef pair<string , string> aa;

    3.pair对象的操作

    访问两个元素的操作可以通过first和second:

    pair<int ,double>p;
    p.first = 1;
    p.second = 1.0;
    
    4.生成新的pair对象

    可以利用make_pair创建新的pair对象:

    pair<int, double>p1;
    p1 = make_pair(1,1.0);
    
    5.通过tie获取pair元素值

    某些情况会以pair对象作为返回值,可以通过std::tie接收。

    std::pair<std::string , int>getperson(){
    	return std::make_pair("tom",20);
    }
    int main(){
    	std::string name;
    	it age;
    	std::tie(name , age) = getperson();
    	std::cout<<"name:"<<name<<",age:"<<age<<std::endl;
    	return 0;
    }
    

    摘抄,
    end.

    展开全文
  • pair & make_pair

    2016-12-13 10:14:13
    1 make_pair创建的是一个pair对象。 2 pair是单个数据对的操作,pair是一struct类型,有两个成员变量,通过first,second来访问,用的是“.”访问, 3 make_pair是一个函数,pair是一个类 pair使用例子: make_...
  • pair 的使用

    2018-07-12 11:30:20
    pair&... p1(v1,v2)创建一个pair对象,他的俩个元素分别是T1,T2类型,first是v1 second 是v2make_pair(v1,v2)以v1,v2创建一个新的pair对象p1&lt;p2遵循字典次序,如果p1,first&lt;p1.fi...
  • c++ 之 pair

    2019-12-03 17:31:19
    pair就是将两个数据合成为一组数据。 pair<T1, T2> p1; //创建一个空的pair对象(使用默认构造... //创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2。 make...
  • C++ pair详解

    2020-02-21 18:03:57
    本篇博客主要介绍了 一种模板类型 pair 的创建与初始化 以及pair对象的一些操作 如: 访问 、比较、 赋值、 交换、以及使用 make_pair 创建一个新的pair对象等操作
  • Pair c++

    2019-04-28 16:24:00
    Pair 应用 将2个数据组合成一组数据 当函数需要返回2个数据的时候 pair的实现是一个结构体,主要的两个成员变量是first, second #include 定义 pair<T1, T2>... //创建新的pair对象 /...
  • [STL基础]pair组对单位模板类

    千次阅读 2013-01-27 15:30:58
    pair p1:创建一个空的pair对象,它的两个元素分别是T1和T2类型,采用值初始化pari p1(v1,v2):创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2make_pair(v1,v2):以...
  • pair 类型总结

    2020-05-24 17:08:47
    1、pair 简介 pair 定义在头文件 utility 中,一个pair保存两个数据成员 , 分别命名为 first 、second ... p:创建一个空的pair对象 pair<T1, T2> p(v1, v2):用v1、v2来初始化pair对象 pair<T1, T2> p={v
  • STL之pair

    2020-01-26 21:47:39
    pair的简介 pair是将2个数据合成一组数据,如STL中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。...创建一个空的pair对象,它的两个元素分...
  • c++ pair类型

    2015-06-08 17:04:39
    pair类型在utility头文件中定义, 包含两个数据值, pair类的成员都是公有的, 这两个成员分别命名为first 和 second.可以直接用p.first或p.second的方式访问其数据成员, 在创建pair对象时... 创建一个空的pair对象, 这两
  • c++中pair的用法

    2020-05-19 10:02:59
    一、pair是什么 pair是stl中将两个数据整合成一个... //创建一个pair对象,其中的两个元素为type1和type2类型 例:pair<int,double> p1; //创建空pair对象p1,其中的first和second元素分别是int型和double型
  • STL——pair使用

    2020-04-10 11:13:36
    创建和初始化3,pair对象的操作4,生成新的pair对象5,通过tie获取pair元素值 pair 1. pair的应用 pair是将2数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在起来保存...
  • 关联容器------map与pair的使用

    千次阅读 2017-09-09 10:52:33
    1、std::pair是二元组类模板,就是表示两种相互关联的事物,第一个叫做键,第二个叫做值,一个pair对象称为一个...我们既可以直接定义一个pair对象,也可以使用make_pair函数创建一个pair: std::pair a( 'a', 97 );
  • pair<T1, T2> p1; //创建一个空的pair对象(使用默认构造),它的两个元素分别... //创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2。 make_pair(v1, v2); ...
  • pair类型 在开始介绍关联容器之前,我们有必要了解一种与之相关的标准库类型–pair类型。 操作 含义 ... 创建一个空的pair对象,它的两个元素分别为T1和T2类型... 创建一个pair对象,它的两个元素分别是T1和T2类...
  • C++ pair用法

    2018-08-08 16:40:21
    pair相当于是包含有两个变量的struct,同样类型的pair...创建一个新的pair对象:pair&lt;T1,T2&gt; p1; 创建好的p1他的两个元素分别为T1,T2类型的。并且p1.first代表p1中的第一个元素,p1.second代表第二...
  • C++pair类型

    2016-04-20 16:19:52
    标准库类型--pair类型定义在utility头文件中定义 ... 1、pair的创建和初始化 pair包含两数值,与容器一样,pair也是种模板类型。但是又与之前介绍的容器不同,在创建pair对象时,必须提供两类型名,两...
  • c++ pair 用法详解

    万次阅读 多人点赞 2017-01-25 10:21:51
    C++pair类型 ...标准库类型--pair类型定义在utility头文件中定义 ...1、pair的创建和初始化 ...pair包含两数值,与...但是又与之前介绍的容器不同,在创建pair对象时,必须提供两类型名,两对应的类型名的类型不
  • c++pair的用法

    2014-10-31 11:57:19
    pair 类也是标准库的一部分它使得我们可以在单个对象内部把相同类型或不同类型的 ...创建一个pair 对象author 它包含两个字符串分别被初始化为James 和Joyce 我们可以用成员访问符号member access notat
  • C++pair容器

    千次阅读 2014-05-10 15:36:39
    标准库类型--pair类型定义在utility头文件中定义 ... 1、pair的创建和初始化 pair包含两数值,与容器...但是又与之前介绍的容器不同,在创建pair对象时,必须提供两类型名,两对应的类型名的类型不必相同 p
  • C++ pair的基本用法

    2020-08-30 23:03:41
    目录1,pair的应用2,pair的创建和初始化3,pair对象的操作4,生成新的pair对象5,通过tie获取pair元素值 1,pair的应用 pair是将2数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 205
精华内容 82
关键字:

创建一个pair对象