好友列表保存在QMap中,根据输入字符串,进行查找,并将结果保存在QList中
QList<QString> SearchFriends::getFriends(
QMap<QString, QString> friendMap, QString inputText)
{
QList<QString> matchedList;//保存匹配列表
QMap<QString, QString>::const_iterator it = friendMap.begin();
for( ; it != friendMap.end(); ++it )
{
bool contain = it.value().contains(inputText, Qt::CaseInsensitive);
if(contain)
{
//匹配入队列
matchedList.append(it.key());
}
}
qSort(matchedList.begin(), matchedList.end());//排序
return matchedList;
}
Qt 的容器类提供了隐式数据共享、不可变的特性,并且为速度做了优化,具有较低的内存占用量等。
当作为参数传递时,具有隐式数据共享的类即安全又高效。
在数据传递时,实际上只是传递了数据的指针(这一切都是隐含帮你完成的),而只有在函数发生需要写入的情况时,