Jump to content
  • 0

Question

Posted (edited)

http://imgur.com/a/KJwdY

protected int getVoteWinner()
	{
		int old = 0;
		HashMap<Integer, Integer> temp = new HashMap<>();
		
		for (int vote : votes.values())
		{
			if (!temp.containsKey(vote))
				temp.put(vote, 1);
			else
			{
				old = temp.get(vote);
				old++;
				temp.getEntry(vote).setValue(old);
			}
		}
		
		int max = temp.head().getNext().getValue();
		int result = temp.head().getNext().getKey();
		
		for (Map.Entry<Integer, Integer> entry : temp.entrySet())
		{
			if (entry.getValue() > max)
			{
				max = entry.getValue();
				result = entry.getKey();
			}
		}
		
		votes.clear();
		temp = null;
		return result;
	}

How do I solve this problem? Use aCis 350, replaces FastMap with HashMap and is giving this error.

Edited by L2shaken

Recommended Posts

  • 0
Posted (edited)

No more love for javolution :D

 

I, tbh, got no clue what is Javolution in the end (realtime library, that's it), because L2J didn't use more than 5% of the complete library features. They simply replaced here and there few Lists/Maps/StringBuilder which could be simple ArrayList/HashMap for 70% of them, and for leftover be handled by concurrent (which has been reworked and got decent performance overall). And I personally prefer to rely on JDK features only.

 

In this topic, a concurrent or whatever linked type list is pointless, it can be achieved with better performance with simple container. There is no need to hit the head of the map, it's a result based method, so you begin at 0.

 

I was the first to drop Javolution, so it's more appropriate to say : I never liked it. :P

 

Trove had a better impact than Javolution for sure, notably because we use A LOT of Integer containers. But I tbh find it a pain in the ass to remember you have that library, not even 50% of Integer containers were managed by that lib, so you got inconsistent writting style over the whole pack => drop.

Edited by Tryskell
  • 0
Posted (edited)

I don't understand what you want, but this looks like better:

	protected int getVoteWinner()
	{
		final HashMap<Integer, Integer> temp = new HashMap<>();
		for (int vote : votes.values())
		{
			if (!temp.containsKey(vote))
				temp.put(vote, 1);
			
			int old = temp.get(vote);
			temp.getEntry(vote).setValue(++old);
		}
		
		int max = 0;
		int result = 0;
		
		for (Map.Entry<Integer, Integer> entry : temp.entrySet())
		{
			if (entry.getValue() > max)
			{
				max = entry.getValue();
				result = entry.getKey();
			}
		}
		
		return result;
	}
Edited by Rootware
  • 0
Posted

Because your knowledge so sucks. You try to calling from a map the value as object, not like the variable.

	protected int getVoteWinner()
	{
		final HashMap<Integer, Integer> temp = new HashMap<>();
		for (int vote : votes.values())
		{
			if (!temp.containsKey(vote))
				temp.put(vote, 1);
			
			int old = temp.get(vote);
			temp.put(vote, ++old); // If a record with this "vode" exists in Map then she will be rewrited with new value from "old" variable.
		}
		
		int max = 0;
		int result = 0;
		
		for (Map.Entry<Integer, Integer> entry : temp.entrySet())
		{
			if (entry.getValue() > max)
			{
				max = entry.getValue();
				result = entry.getKey();
			}
		}
		
		return result;
	}
  • 0
Posted

http://imgur.com/a/koUCR

Yes, but I still have this photo error.

I'm sorry i know i'm offtopic, why you even bother open a server? I guess you got a free pack since you are do it on your own, your knowledge is 0 and you go for a live server.

 

SweeTs please post a gif for me.

  • 0
Posted

I'm sorry i know i'm offtopic, why you even bother open a server? I guess you got a free pack since you are do it on your own, your knowledge is 0 and you go for a live server.

 

SweeTs please post a gif for me.

no gif for u 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...