因为程序需要存储Key-Value数据,而QMap又会对key值自动排序,所以参考一些论坛回帖,写了这个类。由于
没有用hash排序,我认为该类不适合大
数据量
存储、查询。附上代码给需要的朋友。
- template <typename KeyType, typename ValueType>
- class QKeyValueList
- {
- public:
- void insert(KeyType key, ValueType value)
- {
- if(KeyList.contains(key)){
- ValueList[KeyList.indexOf(key)] = value;
- }else{
- KeyList.append(key);
- ValueList.append(value);
- }
- }
- void remove(KeyType key)
- {
- if(KeyList.contains(key)){
- int i = KeyList.indexOf(key);
- ValueList.removeAt(i);
- KeyList.removeAt(i);
- }
- }
- ValueType value(KeyType key)
- {
- if(KeyList.contains(key)){
- return ValueList.value(KeyList.indexOf(key));
- }else{
- return NULL;
- }
- }
- int count()
- {
- return KeyList.size();
- }
- private:
- QList<KeyType> KeyList;
- QList<ValueType> ValueList;
- };