Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package ItemManagement; import ItemSets.CreateArmourSets; import ItemSets.itemSet; import Persistance.DbConnect; import Persistance.apiDump; import java.util.ArrayList; import java.util.List; import com.google.common.collect.Lists; import java.io.IOException; /** * * @author olive */ public class GuavaCartesian { static public void main(String[] argv) throws IOException { ArrayList uniqueSets = getUniqueSets_Limited(); System.out.println(uniqueSets.size()); DbConnect db = new DbConnect(); db.storeItem(uniqueSets); } public static ArrayList getUniqueSets_Limited() throws IOException { GuavaCartesian calc = new GuavaCartesian(); ArrayList createSetLists = calc.createSetLists(); ArrayList CartesianSetBuilder = calc.CartesianSetBuilder(createSetLists, 10000); System.out.println(CartesianSetBuilder.size()); return CartesianSetBuilder; } public static ArrayList getUniqueSets() throws IOException { GuavaCartesian calc = new GuavaCartesian(); ArrayList createSetLists = calc.createSetLists(); ArrayList CartesianSetBuilder = calc.CartesianSetBuilder(createSetLists, 0); System.out.println(CartesianSetBuilder.size()); return CartesianSetBuilder; } public static ArrayList createSetLists() { ArrayList setList = new ArrayList(); CreateArmourSets getArmourSets = new CreateArmourSets(); getUniqueItemsByInfix get = new getUniqueItemsByInfix(); ArrayList armourItems = get.JustArmour(); ArrayList ArmourSetsList = getArmourSets.createArmourSets(armourItems); //gets and creates armour set ArrayList trinketLists = get.JustTrinket(); ArrayList backList = get.JustBack(); ArrayList WeaponList = get.JustLargeWeapons(); setList.add(ArmourSetsList); setList.add(trinketLists.get(0)); setList.add(trinketLists.get(1)); setList.add(trinketLists.get(2)); setList.add(backList); setList.add(WeaponList); return setList; } public static List calcTrinketSets() { getUniqueItemsByInfix get = new getUniqueItemsByInfix(); ArrayList myList = get.JustTrinket(); List<List> cartesianProduct = Lists.cartesianProduct(myList); // System.out.println(cartesianProduct.toString()); System.out.println(cartesianProduct.size()); // Object[] toArray = cartesianProduct.toArray(); return cartesianProduct; } public static List calcArmourStats() { getUniqueItemsByInfix get = new getUniqueItemsByInfix(); ArrayList myList = get.JustArmour(); List<List> cartesianProduct = Lists.cartesianProduct(myList); // System.out.println(cartesianProduct.toString()); System.out.println(cartesianProduct.size()); // Object[] toArray = cartesianProduct.toArray(); return cartesianProduct; } public static ArrayList CartesianSetBuilder(ArrayList list1, int limit) throws IOException { List<List> cartesianProduct = Lists.cartesianProduct(list1); ArrayList uniqueSets = new ArrayList(); ArrayList uniqueStats = new ArrayList(); // System.out.println(cartesianProduct.toString()); System.out.println(cartesianProduct.size()); int index = 0; if (limit == 0) { limit = cartesianProduct.size(); } while (index != limit) { List mysets = cartesianProduct.get(index); itemSet myItemSet = new itemSet(mysets); myItemSet.calcSetStats(); scoreValues setValues = myItemSet.getSetValues(); //ListOfSets.add(myItemSet); if (uniqueStats.contains(setValues)) { System.out.println("stat set already exists"); } else { uniqueStats.add(setValues); uniqueSets.add(myItemSet); System.out.println("UNIQUE SET ADDED - SIZE: " + uniqueSets.size()); } // DbConnect con = new DbConnect(); // con.storeItem(myItemSet); System.out.println(index + " OF " + limit); index++; } //myItemSet.calcscore(values); // Object[] toArray = cartesianProduct.toArray(); return uniqueSets; } }