Jump to content
  • 0

[Question] About Fastmap


andon19

Question

FastMap=has a predictable iteration order, which is the order in which keys are inserted into the map

 

My question is that.

 

Could anyone ilustrate me a simple 5 lanes codes how works this class..  i would like to know the logic of this class

 

(Yeah, i know there are tons of  share  custom codes that have been shared but i need just a simple one with the idea of working of this class, i am not lazy.Just  Curious.)

 

I would appreciate every possible answer.

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

I'm not sure 100%, I usually work with FastList.

 

 

package com.custom;
 
import java.util.Map;
 
import javolution.util.FastMap;
 
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 
/**
 * @author Wyatt
 */
 
public class Test
{
private final FastMap<Integer, L2PcInstance> players_map = new FastMap<>();
 
public L2PcInstance[] getAllPlayers()
{
return players_map.values().toArray(new L2PcInstance[0]);
}
 
public void addPlayer(int index, L2PcInstance player)
{
players_map.put(index, player);
}
 
public Map<Integer, L2PcInstance> getPlayerList()
{
return players_map;
}
 
public L2PcInstance getPlayer(int index)
{
return players_map.get(index);
}
 
public boolean isPlayerInside(L2PcInstance player)
{
return players_map.containsValue(player);
}
 
public boolean isKeyUsed(int index)
{
return players_map.containsValue(index);
}
}
Link to comment
Share on other sites

  • 0

I love the way you think...  T H A N K YOU this website is really  source of knowledge and especially you and the 5 others you are professors of l2j.Thanks god that you exist guys :) 

Link to comment
Share on other sites

  • 0

A regular Java counterpart of FastList is LinkedList. There is no counterpart for FastMap, but you almost never need a map to be ordered. The only use of it is in geoengine, where order has to be kept (but can be reworked to avoid that state).

 

So basically said, the only uses of order is for things like buffs array, where order is important. Here a LinkedList can and should be used.

 

A FastMap got almost no use (I gave you the only legit use and it depends of the pack you use), and often can be replaced by regular HashMap. If you need a concurrent version (concurrent = can be used by multiple sources in same time), use ConcurrentHashMap.

 

FastMap methods are similar to HashMap (with some addition). You can read the associated javadoc to know each of them.

Link to comment
Share on other sites

  • 0

i havent even bother to learn some basics of java yet when i watch all these codes here now *the one you listed as example*

 

im wondering my self ,how can u understand this logic ,how do u know what they do ,how can u make connections so damn easy, whats the java logic after all ,im not that great with english but thats not the issue

 

would i understand if i start learn it? i dont know ,seems complicated and very hard from a standard newbie view

Edited by Karasu
Link to comment
Share on other sites

  • 0

You can understand some points of java just by logic... ofc it can seem complicated for a newbie, but like all things...

 

For example:

return players_map.values().toArray(new L2PcInstance[0]);
What would .values() mean? to get the values of your map? -> logic

 

players_map.put(index, player);
What would .put() mean? to put a value inside your map? -> logic

 

return players_map.get(index);
What would .get() mean? to get a value from your map? -> logic

 

return players_map.containsValue(player);
What would .containsValue() mean? to know if something is inside your map? -> logic Edited by ^Wyatt
Link to comment
Share on other sites

  • 0

i havent even bother to learn some basics of java yet when i watch all these codes here now *the one you listed as example*

 

im wondering my self ,how can u understand this logic ,how do u know what they do ,how can u make connections so damn easy, whats the java logic after all ,im not that great with english but thats not the issue

 

would i understand if i start learn it? i dont know ,seems complicated and very hard from a standard newbie view

 

did you go to school ? have you ever studied proggraming ?

 

if both answers are "no", then I feal sorry about you, but you will never "get it" that easy or completly

Link to comment
Share on other sites

  • 0

did you go to school ? have you ever studied proggraming ?

 

if both answers are "no", then I feal sorry about you, but you will never "get it" that easy or completly

 

whats "did you go to school" suppose to mean???????????????????????????????

 

im finishing highschool this year but my profile was about something else

 

ive started all of that things with l2 like 1 month ago, i am not interested enough to learn java, wont bring me any benefits and it takes time ,time that i dont have

Link to comment
Share on other sites

  • 0

whats "did you go to school" suppose to mean? ???? ???? ???? ???? ???? ???? ??????

 

im finishing highschool this year but my profile was about something else

 

ive started all of that things with l2 like 1 month ago, i am not interested enough to learn java, wont bring me any benefits and it takes time ,time that i dont have

 

It means that in the last classes of high-school you are able to learn the basic programming languages, without that your gonna have hard time

Link to comment
Share on other sites

  • 0

ive started all of that things with l2 like 1 month ago, i am not interested enough to learn java, wont bring me any benefits and it takes time ,time that i dont have

If you are "not interested enough to learn java" and u have no time to spend on it "coz it won't bring u any benefits", just avoid posting here trying to receive help anymore.

Jesus, attitudes like that makes me thing why did I even try to help you.

 

Topic locked since it's going offtopic.

Edited by ^Wyatt
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock