社区
工具平台和程序库
帖子详情
如何获得list中第n个对象?
djhdu
2004-03-29 07:18:28
我有一个 std::list<CInfo *> m_InfoList;
我想获得第n个对象
CInfo GetInfo(int n)
{
std::list<CInfo *> Info_iter;
Info_iter=m_InfoList.begin()+nColumn;
if (Info_iter) //错误行
{
return *Info_iter;
}
return NULL;
}
如何写才正确呢?
...全文
958
13
打赏
收藏
如何获得list中第n个对象?
我有一个 std::list m_InfoList; 我想获得第n个对象 CInfo GetInfo(int n) { std::list Info_iter; Info_iter=m_InfoList.begin()+nColumn; if (Info_iter) //错误行 { return *Info_iter; } return NULL; } 如何写才正确呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
student2002
2004-03-31
打赏
举报
回复
改成:
CInfo GetInfo(int n)
{
std::list<CInfo *>::iterator Info_iter;
Info_iter=m_InfoList.begin()+nColumn;
if (Info_iter!=m_InfoList.end()) //错误行
{
return *Info_iter;
}
return NULL;
}
sharkhuang
2004-03-30
打赏
举报
回复
list的iter没有随机属性!只能++ 不能[n]
北极猩猩
2004-03-30
打赏
举报
回复
list适合顺序访问和随机插入,如果经常要随机访问应该使用vector或deque
如果是偶尔要访问第n各元素,可以向上面一样,使用advance
wingfiring
2004-03-30
打赏
举报
回复
可以访问的,不过你要这样:
Info_iter=m_InfoList.begin();
std::advance(Info_iter, nColumn)
可能需要包含头文件:
#include <algorithm>
当然,advance之前,你必须保证list中有不少于nColumn个成员。
Bruceleexiaokan
2004-03-30
打赏
举报
回复
list的advance具有是线性开销。如果开销是主要考虑因素的话,可以采用vector。
vector::iterator具有random iterator type,advance是常数级开销。
Darkay_Lee
2004-03-30
打赏
举报
回复
设计有问题!要随机访问的话,不应该使用list
cgsw12345
2004-03-30
打赏
举报
回复
用iterator可以实现!
rorot
2004-03-29
打赏
举报
回复
list 可以访问第n个对象吗? 除非你抛除去前面得
saville
2004-03-29
打赏
举报
回复
list是链表啊,内存地址不连续的。你用Info_iter=m_InfoList.begin()+nColumn当然不行了
zhangyan_qd
2004-03-29
打赏
举报
回复
如果追究起来,list就是不让你随机访问的。如果要随机访问就应该用vector
allen_zhaozhencn
2004-03-29
打赏
举报
回复
CInfo GetInfo(int n)
{
std::list<CInfo *> Info_iter;
Info_iter = m_InfoList.begin();
int i = 0;
if (n > m_InfoList.size( ) )
throw ;
while(i < n)
{
// Info_iter++;//最好用前置
++Info_iter;
i++;
}
return *Info_iter;
}
这样行吗?
djhdu
2004-03-29
打赏
举报
回复
少判断了n超过size
weixiaohua
2004-03-29
打赏
举报
回复
CInfo GetInfo(int n)
{
std::list<CInfo *> Info_iter;
Info_iter = m_InfoList.begin();
int i = 0;
while(i < n)
{
Info_iter++;
i++;
}
return *Info_iter;
}
这样行吗?
List
集合存入多个
对象
,若取出一个并改变其值,那么
list
会改变么?
会
JAVA
中
List
集合按照
对象
的某一个或多个字段去重实现
如题继续总结工作
中
遇到的各种需求实现: import org.apache.commons.lang3.StringUtils; import java.util.*; /** * @Auther: * @Date: 2019/1/11 09:11 * @Description: 根据
list
中
对象
指定的n个字段去重测试 */ public class TestMyUser { @org.junit.Test public void test(){ Lis.
JAVA8
list
通过元素分组后,
list
中
对象
属性累加,返回
对象
JAVA8
list
通过元素分组后,
list
中
对象
属性累加,返回
对象
需求: 通过项目ID分组,相同项目的金额累加,返回一个通过项目分组后的
对象
public static void main(String[] args) {
List
<TaskPaySaveVO>
list
= new Array
List
<>(); for (int i = 0; i < 3; i++) { TaskPaySaveVO taskPaySa
把多个
list
合并存入map
中
,并从map
中
读取
list
ps:查资料查了快一天,终于弄好了。记录一下。 多个
list
合并成一个
list
,我在设计
中
需要的是查询多个
list
循环,把这几个lis
对象
加入另一个
list
中
,再存入session
中
,在页面
中
进行读取。查了几个没成功,后来使用hashMap列表。 比如:我的是建立一个HashMap
对象
,列表类型是照片(photo),可以把
list
类型换成自己需要的。 后台Controller
中
: Map&...
list
对象
去重
一、针对String类型进行去重 方式一:使用另一个
list
在添加元素的时候进行重复判断 /** * 方式一:使用另一个
list
在添加元素的时候进行重复判断 */ public static void test1() {
List
<String> string
List
= Arrays.as
List
("aa", "a", "AA", "aa", "bb", "
工具平台和程序库
24,854
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章