ArrayList speichern

Dieses Thema im Forum "Programmierung" wurde erstellt von ThrustLP, 25. April 2014.

  1. ThrustLP
    Offline

    ThrustLP

    Registriert seit:
    3. April 2013
    Beiträge:
    35
    Ich habe eine ArrayList:

    ArrayList<String> players = new ArrayList<String>();


    In dieser sind Strings. Wie kann ich sie in meiner Config Speichern und dann wieder richtig laden?



    Danke!
     
    #1
  2. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Zum speichern:
    Code (Text):
    1. List<String> players = new ArrayList<>();
    2. //Tue etwas mit der List
    3. getConfig().set("pfad.zur.liste", players);
    Und zum auslesen:
    Code (Text):
    1. List<String> players = getConfig().getStringList("pfad.zur.liste");
     
    #2
  3. Pappi
    Offline

    Pappi Gesperrt

    Registriert seit:
    28. Oktober 2012
    Beiträge:
    141
    Ort:
    H.a.S/NRW/Germany
    Minecraft:
    Pappi / PapaHarni
    Wobei ich zum Auslesen auf Nummer sicher gehen würde und es so machen würde :
    Code (Text):
    1.  
    2. List<String> list = new ArrayList<>();
    3. List<String> players = getConfig().getStringList("pfad.zur.liste", list);
    4.  
    So gibt es zumindest kein Fehler wenn der Pfad mal nicht bestehen sollte oder das Falsche Format hat.
     
    #3
  4. ThrustLP
    Offline

    ThrustLP

    Registriert seit:
    3. April 2013
    Beiträge:
    35
    Warum List<> anstatt ArrayList<>?



    Uuuund ich bin wieder zu blöd -.-

    Wo muss ich das hier einbauen wenn ich das mit den beiden ArrayListen machen will?:

    Code (Text):
    1.  
    2. package me.thrustlp.btfhelp;
    3.  
    4. import java.util.ArrayList;
    5. import java.util.HashMap;
    6. import java.util.List;
    7.  
    8. import org.bukkit.Bukkit;
    9. import org.bukkit.Location;
    10. import org.bukkit.command.Command;
    11. import org.bukkit.command.CommandSender;
    12. import org.bukkit.entity.Player;
    13. import org.bukkit.plugin.java.JavaPlugin;
    14.  
    15. public class Main extends JavaPlugin{
    16.    
    17.     String pl = "§6[BTFHelp] ";
    18.     ArrayList<String> players = new ArrayList<String>();
    19.     ArrayList<String> hilfen = new ArrayList<String>();
    20.    
    21.    
    22.     @Override
    23.     public void onEnable(){
    24.         System.out.println("[BTFHelp] Geladen");
    25.         loadConfig();
    26.        
    27.        
    28.     }
    29.    
    30.     @Override
    31.     public void onDisable(){
    32.         System.out.println("[BTFHelp] Deaktiviert");
    33.        
    34.        
    35.        
    36.        
    37.        
    38.     }
    39.    
    40.    
    41.     public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args){
    42.         Player p = (Player) sender;
    43.        
    44.         if(cmd.getName().equalsIgnoreCase("hilfe")){
    45.             if(p.hasPermission("BTFHelp.hilfe") || p.isOnline()){
    46.                 //CHANGE isOp
    47.                 if(args.length >= 1){
    48.                
    49.                     String allArguments = "";
    50.                    
    51.                      for(int i = 0; i < args.length; i++){
    52.                          
    53.                          allArguments += "§3" + args[i] + " ";
    54.                          
    55.                            
    56.                          
    57.                      }
    58.                      
    59.                      hilfen.add(allArguments);
    60.                      players.add(p.getName());
    61.                      
    62.                     p.sendMessage(pl + "§aTicket erstellt! Bitte warte auf hilfe! Wenn du offline gehst bekommst du eine Nachricht wenn dir jemand hilft! Mache dann §4/helpmail §awenn du wieder da bist!");
    63.                    
    64.                    
    65.                    
    66.                    
    67.                    
    68.                    
    69.                 }else{
    70.                     p.sendMessage(pl + "§cBenutze /hilfe [Was brauchst du?]");
    71.                    
    72.                 }
    73.                
    74.                
    75.             }else{
    76.                
    77.                 p.sendMessage("§6[BTFHelp]§c Du hast keine Rechte dazu!");
    78.                
    79.             }
    80.            
    81.            
    82.            
    83.             return true;
    84.         }
    85.        
    86.         if(cmd.getName().equalsIgnoreCase("helfen")){
    87.             if(p.hasPermission("BTFHelp.helfen") || p.isOp()){
    88.                 if(!hilfen.isEmpty() && !players.isEmpty()){
    89.                     Player need = Bukkit.getServer().getPlayer(players.get(0));
    90.                     String nhelp = hilfen.get(0);
    91.                    
    92.                
    93.                     if(need != null){
    94.                    
    95.                     if(need.isOnline()){
    96.                         p.sendMessage(pl + "§aDu hilfst nun §3" + need.getName());
    97.                         p.sendMessage("§aSein Problem: §a" + nhelp);
    98.                         need.sendMessage(pl + "§aDer Supporter§3 " + p.getName() + " §awird sich um dich kümmern!");
    99.                        
    100.                         Location needl = need.getLocation();
    101.                         p.teleport(needl);
    102.                        
    103.                         hilfen.remove(hilfen.get(0));
    104.                         players.remove(players.get(0));
    105.                        
    106.                        
    107.                        
    108.                     }
    109.                    
    110.                    
    111.                    
    112.                 }else{
    113.                    
    114.                     p.sendMessage("off");
    115.                    
    116.                 }
    117.                    
    118.                    
    119.                    
    120.                 }else{
    121.                     p.sendMessage(pl + "§cNiemand braucht gerade Hilfe!");
    122.                    
    123.                 }
    124.                
    125.                
    126.                
    127.             }else{
    128.                
    129.                 p.sendMessage("§6[BTFHelp]§c Du hast keine Rechte dazu!");
    130.             }
    131.            
    132.             return true;
    133.            
    134.         }
    135.        
    136.        
    137.        
    138.        
    139.    
    140.        
    141.         return false;
    142.        
    143.     }
    144.    
    145.    
    146.     public void loadConfig(){
    147.         getConfig().addDefault("BHelp.arraydontedit", "");
    148.         getConfig().addDefault("BHelp.arraydontedit2", "");
    149.        
    150.         getConfig().options().copyDefaults(true);
    151.        
    152.     }
    153.  
    154. }
    155.  
     
    #4
  5. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Code (Text):
    1. package me.thrustlp.btfhelp;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.HashMap;
    5. import java.util.List;
    6.  
    7. import org.bukkit.Bukkit;
    8. import org.bukkit.Location;
    9. import org.bukkit.command.Command;
    10. import org.bukkit.command.CommandSender;
    11. import org.bukkit.entity.Player;
    12. import org.bukkit.plugin.java.JavaPlugin;
    13.  
    14. public class Main extends JavaPlugin{
    15.    
    16.     String pl = "§6[BTFHelp] ";
    17.     ArrayList<String> players = new ArrayList<>();
    18.     ArrayList<String> hilfen = new ArrayList<>();
    19.    
    20.    
    21.     @Override
    22.     public void onEnable(){
    23.                 players = getConfig().getStringList("pfad.zur.liste");
    24.         System.out.println("[BTFHelp] Geladen");
    25.     }
    26.    
    27.     @Override
    28.     public void onDisable(){
    29.         System.out.println("[BTFHelp] Deaktiviert");
    30.        
    31.        
    32.        
    33.        
    34.        
    35.     }
    36.    
    37.    
    38.     public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args){
    39.         Player p = (Player) sender;
    40.        
    41.         if(cmd.getName().equalsIgnoreCase("hilfe")){
    42.             if(p.hasPermission("BTFHelp.hilfe") || p.isOnline()){
    43.                 //CHANGE isOp
    44.                 if(args.length >= 1){
    45.                
    46.                     String allArguments = "";
    47.                    
    48.                      for(int i = 0; i < args.length; i++){
    49.                          
    50.                          allArguments += "§3" + args[i] + " ";
    51.                          
    52.                            
    53.                          
    54.                      }
    55.                      
    56.                      hilfen.add(allArguments);
    57.                      players.add(p.getName());
    58.                      
    59.                     p.sendMessage(pl + "§aTicket erstellt! Bitte warte auf hilfe! Wenn du offline gehst bekommst du eine Nachricht wenn dir jemand hilft! Mache dann §4/helpmail §awenn du wieder da bist!");
    60.                    
    61.                    
    62.                    
    63.                    
    64.                    
    65.                    
    66.                 }else{
    67.                     p.sendMessage(pl + "§cBenutze /hilfe [Was brauchst du?]");
    68.                    
    69.                 }
    70.                
    71.                
    72.             }else{
    73.                
    74.                 p.sendMessage("§6[BTFHelp]§c Du hast keine Rechte dazu!");
    75.                
    76.             }
    77.            
    78.            
    79.            
    80.             return true;
    81.         }
    82.        
    83.         if(cmd.getName().equalsIgnoreCase("helfen")){
    84.             if(p.hasPermission("BTFHelp.helfen") || p.isOp()){
    85.                 if(!hilfen.isEmpty() && !players.isEmpty()){
    86.                     Player need = Bukkit.getServer().getPlayer(players.get(0));
    87.                     String nhelp = hilfen.get(0);
    88.                    
    89.                
    90.                     if(need != null){
    91.                    
    92.                     if(need.isOnline()){
    93.                         p.sendMessage(pl + "§aDu hilfst nun §3" + need.getName());
    94.                         p.sendMessage("§aSein Problem: §a" + nhelp);
    95.                         need.sendMessage(pl + "§aDer Supporter§3 " + p.getName() + " §awird sich um dich kümmern!");
    96.                        
    97.                         Location needl = need.getLocation();
    98.                         p.teleport(needl);
    99.                        
    100.                         hilfen.remove(hilfen.get(0));
    101.                         players.remove(players.get(0));
    102.                        
    103.                        
    104.                        
    105.                     }
    106.                    
    107.                    
    108.                    
    109.                 }else{
    110.                    
    111.                     p.sendMessage("off");
    112.                    
    113.                 }
    114.                    
    115.                    
    116.                    
    117.                 }else{
    118.                     p.sendMessage(pl + "§cNiemand braucht gerade Hilfe!");
    119.                    
    120.                 }
    121.                
    122.                
    123.                
    124.             }else{
    125.                
    126.                 p.sendMessage("§6[BTFHelp]§c Du hast keine Rechte dazu!");
    127.             }
    128.            
    129.             return true;
    130.            
    131.         }
    132.        
    133.        
    134.        
    135.        
    136.    
    137.        
    138.         return false;
    139.        
    140.     }
    141.    
    142.    
    143.     public void loadConfig(){
    144.         getConfig().addDefault("BHelp.arraydontedit", "");
    145.         getConfig().addDefault("BHelp.arraydontedit2", "");
    146.        
    147.         getConfig().options().copyDefaults(true);
    148.        
    149.     }
    150.  
    151. }
    List ist eine Erweiterung von ArrayList. Außerdem kannst du bei "new ArrayList<>" das String weglassen. Der Compiler macht dies automatich.
     
    #5
  6. ThrustLP
    Offline

    ThrustLP

    Registriert seit:
    3. April 2013
    Beiträge:
    35
    Vielen Dank ;) Ihr seid echt die besten!!!
     
    #6