Exemple #1
0
int putValue(Hashmap* hash,void* key,void* value){
	List *list;
	HashElement *element;
	if(hash == NULL || key == NULL) 
		return 0;
	rehashIfNeeded(hash,key);
	list = getListFromHashMap(hash, key);
	element = getElementFromList(list,key,hash->compare);
	
	if(element != NULL){
		element->value = value;
		return 1;
	}
	element = createHashElement(key,value);
	return insertNode(list,list->length, element);
}
Exemple #2
0
int put(HashMap *map,void *key,void *value){
	List *listOfHashObjects;
	Object *objectPrevoiuslyPresent,*object;
	int hash;
	if(map == NULL || key == NULL) return 0;
	objectPrevoiuslyPresent = getMatchingObject(map,key,0);
	if(objectPrevoiuslyPresent){
		objectPrevoiuslyPresent->values = value;
		return 1;
	}
	object = createObject(key,value);
	hash = calculateHash(map,key);
	listOfHashObjects = get(map->buckets,hash);
	insert(listOfHashObjects,object,1);
	rehashIfNeeded(map);
	return 1;
};