Jump to content
  • 0

Fastlist -> Arraylist Acis


Question

Posted (edited)

http://imgur.com/a/1oYgm

protected int getWinnerTeam()
	{
		ArrayList<EventTeam> t = new ArrayList<>();
		
		for (EventTeam team : teams.values())
		{
			if (t.size() == 0)
			{
				t.add(team);
				continue;
			}
			
			if (team.getScore() > t.getFirst().getScore())
			{
				t.clear();
				t.add(team);
				continue;
			}
			
			if (team.getScore() == t.getFirst().getScore())
				t.add(team);
		}
		
		if (t.size() > 1)
			return 0;
		
		return t.getFirst().getId();
	}

getFirst () must be replaced by what?

Edited by L2shaken

Recommended Posts

  • 0
Posted
return t.get(0).getId();
	protected int getWinnerTeam()
	{
		ArrayList<EventTeam> t = new ArrayList<>();
		
		for (EventTeam team : teams.values())
		{
			if (t.size() == 0)
			{
				t.add(team);
				continue;
			}
			
			if (team.getScore() > t.get(0).getScore())
			{
				t.clear();
				t.add(team);
				continue;
			}
			
			if (team.getScore() == t.get(0).getScore())
				t.add(team);
		}
		
		if (t.size() > 1)
			return 0;
		
		return t.get(0).getId();
	}

right ?

  • 0
Posted

Right. But i would suggest you to take a look on the other posts and reconsider your course of action. This algorithm is very suboptimal, you should try to recode it or at least understand why.

  • 0
Posted (edited)

This community keeps going worse and worse, damn it.  :lol:

seriously,i reported him.
 
He has getScore() and compareTo(EventTeam second) but he wants to create a new sh1tcode, use unnecessary ArrayList and after that,he wants to ...
He doesnt use anything properly ...
Just report them or get 2 condoms for ur eyes 
Edited by bravetobe
  • 0
Posted

You say "he use" / "he wants".. No, he don't want to. How can he, if he can't do it / don't understand it. He is simply using some ready, old code.

 

Stop the drama. Like Versus said, it's a request help section, after all.

  • 0
Posted

You say "he use" / "he wants".. No, he don't want to. How can he, if he can't do it / don't understand it. He is simply using some ready, old code.

 

Stop the drama. Like Versus said, it's a request help section, after all.

Old code?I cant really believe that someone coded that thing and he actually decided to get that code and actually use it...

 

Besides,i dont want to see 1 more "BALANCED" server around + 1 more nazi admin in his own stupid forum who bans people Kappa.Also,me + one other dude told him 2 different ways to code that decently.

 

No haterino,make spaghettirino,plz make me cappucino

  • 0
Posted

I cant really believe that [...] he actually decided to get that code and actually use it...

As if he had other choice :lol:

 

No one wants.. :P

  • 0
Posted

Old code?I cant really believe that someone coded that thing and he actually decided to get that code and actually use it...

 

Besides,i dont want to see 1 more "BALANCED" server around + 1 more nazi admin in his own stupid forum who bans people Kappa.Also,me + one other dude told him 2 different ways to code that decently.

 

No haterino,make spaghettirino,plz make me cappucino

You're just jealous cause he is PRO jeva davaloper. HI MEIK PRO CODES 2K16

  • 0
Posted (edited)

Sad story. This man don't want to know the purpose of the code, but he asking for help in correcting the methods while they was written in the FastMap style. Also it's was not the better solution for this, and not ArrayList story.

 

I think this man will not be satisfed if we recommened him learn what this code doing. In this case, is not the help. It's work of other people - time, brains and hands.

 

My opinion - wrong section for request.

Edited by Rootware
  • 0
Posted (edited)

What would be the right way?

public int compareTo(EventTeam second)
	{
		if (getScore() > second.getScore())
			return 1;
		else if (getScore() < second.getScore())
			return -1;
		
		return 0;
	}

protected int getScore()
	{
		return score;
	}

protected int getId()
    {
        return id;
    }
    

There is code already which u can use instead of code something that u saw in ur sleep or something

 

Since i dont code things in l2j,i will try to make it as simple as i can tho (what i would do):

If its supposed to be more than X teams (x >>2):

Track down the team with the highest score.Since i dont know what kind of collection is this,dunno whats more efficient(dunno the methods but it looks like hashmap or what...arraylist fanboy).

Copy the team with the highest score into an object,and later on get the id.That might be the most easy way.

OR 

set highestScore=0 id =0,compare score that each team's score and if it has higher score than that,save the id and after the loop return it.

If its supposed to be with 2 teams:

Just get their scores and return the id.

 

Thats my prespective.No coding in l2j tho Kappa

 

- Editted several times to clarify how u can actually code it-

gl

 

P.S thats w/o 2 team same score.if 2 teams have same score,it becomes more tricky.

Edited by bravetobe
  • 0
Posted
public int compareTo(EventTeam second)
	{
		if (getScore() > second.getScore())
			return 1;
		else if (getScore() < second.getScore())
			return -1;
		
		return 0;
	}

protected int getScore()
	{
		return score;
	}

protected int getId()
    {
        return id;
    }
    

There is code already which u can use instead of code something that u saw in ur sleep or something

 

Since i dont code things in l2j,i will try to make it as simple as i can tho (what i would do):

If its supposed to be more than X teams (x >>2):

Track down the team with the highest score.Since i dont know what kind of collection is this,dunno whats more efficient(dunno the methods but it looks like hashmap or what...arraylist fanboy).

Copy the team with the highest score into an object,and later on get the id.That might be the most easy way.

OR 

set highestScore=0 id =0,compare score that each team's score and if it has higher score than that,save the id and after the loop return it.

If its supposed to be with 2 teams:

Just get their scores and return the id.

 

Thats my prespective.No coding in l2j tho Kappa

 

- Editted several times to clarify how u can actually code it-

gl

 

P.S thats w/o 2 team same score.if 2 teams have same score,it becomes more tricky.

 

What you mean more tricky ?

 

If team 1 and team 2 has same score it will return 0 anyway 

  • 0
Posted
protected int getWinnerTeam()
{
	final EventTeam team = teams.values().stream().sorted(Comparator.comparing(EventTeam::getScore).reversed()).findFirst().orElse(null);
	return team == null ? 0 : team.getId();
}

Exact same broken getWinnerTeam logic to java.

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...