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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • And Discord: https://discord.gg/3aYqWNqb
    • Ofc: https://discord.gg/3aYqWNqb
    • You can find some H5 skins shared in old L2 modding Discords, but most of the higher‑quality ones are either paid or come bundled with full client edits. I usually mix in commissioned work and whatever I can patch myself. On a side note, I fund a lot of these commissions by selling off game items through instant sell cs2 skins, which has been a quick way for me to get some cash for projects.
    • There is no need for gRPC in this case, even tho originally it was gRPC based but since we don't need it to be bi-directional, we switched to simple http requests for the web calls and SSEs for the data streamed from the server. There are distributed locks in place to precent race conditions between actions that can happen between multiple web instances and the server.   Local models can also be slow depending on the model, and most external models can actually be faster than local ones if you use Flash 2.5 or something along those lines. I am running on 512GB of Unified Memory on my Mac Studio M3 Ultra so the speed of the local model for a small model is pretty good but I tested it with Gemini too and it works equally as fast and in some cases faster. The way it works is that I'm using pgvector (one of the benefits of moving to Postgres) to search the data and see what the player can see etc and there is some batching of the next few actions for 2-4 seconds for the user until the next LLM request fires. The batching also includes branching on logic so if they for example fall under some HP they will move to kiting instead of attacking or maybe they heal etc.   Everything is authed and permission-based. The server and the backend of the frontend have secure communication between them, either with a symmetric key (not recommended for production) or a certificate (the recommended way), so there is no worry. It's all tied to the account's access level, etc., so nobody can make an action that they normally wouldn't be allowed to do. Even the MCP is token-based, and there are prompt injection protections in place. The MCP is audited, and every mutation needs confirmation. The admin area is only accessible to the admin account anyway so normal users can't access it.  
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..