Make use of LinkedList for SkillTreeData results.

This commit is contained in:
MobiusDevelopment
2023-01-08 10:55:12 +00:00
parent 1f0c68dc1d
commit 7f1d8a5dc2
31 changed files with 542 additions and 543 deletions

View File

@@ -17,13 +17,13 @@
package org.l2jmobius.gameserver.data.xml;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -561,7 +561,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getNobleSkillTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _nobleSkillTree.values())
{
result.add(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()));
@@ -575,7 +575,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getNobleSkillAutoGetTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _nobleSkillTree.values())
{
if (skill.isAutoGet())
@@ -592,7 +592,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getHeroSkillTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _heroSkillTree.values())
{
result.add(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()));
@@ -606,7 +606,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getGMSkillTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _gameMasterSkillTree.values())
{
result.add(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()));
@@ -620,7 +620,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getGMAuraSkillTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _gameMasterAuraSkillTree.values())
{
result.add(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()));
@@ -836,7 +836,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableAutoGetSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final Map<Long, SkillLearn> skills = getCompleteClassSkillTree(player.getClassId());
if (skills.isEmpty())
{
@@ -879,7 +879,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableFishingSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final Race playerRace = player.getRace();
for (SkillLearn skill : _fishingSkillTree.values())
{
@@ -916,7 +916,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableRevelationSkills(Player player, SubclassType type)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final Map<Long, SkillLearn> revelationSkills = _revelationSkillTree.get(type);
for (SkillLearn skill : revelationSkills.values())
{
@@ -936,7 +936,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableAlchemySkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _alchemySkillTree.values())
{
if (skill.isLearnedByNpc() && (player.getLevel() >= skill.getGetLevel()))
@@ -965,7 +965,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableCollectSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _collectSkillTree.values())
{
final Skill oldSkill = player.getSkills().get(skill.getSkillId());
@@ -991,7 +991,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableTransferSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final ClassId classId = player.getClassId();
if (!_transferSkillTrees.containsKey(classId))
{
@@ -1016,7 +1016,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableTransformSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final Race race = player.getRace();
for (SkillLearn skill : _transformSkillTree.values())
{
@@ -1046,7 +1046,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailablePledgeSkills(Clan clan)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _pledgeSkillTree.values())
{
if (!skill.isResidencialSkill() && (clan.getLevel() >= skill.getGetLevel()))
@@ -1113,7 +1113,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableSubPledgeSkills(Clan clan)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _subPledgeSkillTree.values())
{
if ((clan.getLevel() >= skill.getGetLevel()) && clan.isLearnableSubSkill(skill.getSkillId(), skill.getSkillLevel()))
@@ -1131,7 +1131,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableSubClassSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _subClassSkillTree.values())
{
final Skill oldSkill = player.getSkills().get(skill.getSkillId());
@@ -1150,7 +1150,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableDualClassSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _dualClassSkillTree.values())
{
final Skill oldSkill = player.getSkills().get(skill.getSkillId());
@@ -1170,7 +1170,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableResidentialSkills(int residenceId)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _pledgeSkillTree.values())
{
if (skill.isResidencialSkill() && skill.getResidenceIds().contains(residenceId))
@@ -1656,7 +1656,7 @@ public class SkillTreeData implements IXmlReader
}
// Race specific skills from Fishing and Transformation skill trees.
final List<Long> list = new ArrayList<>();
final List<Long> list = new LinkedList<>();
_skillsByRaceHashCodes = new HashMap<>(Race.values().length);
for (Race r : Race.values())
{