Package src.common

Class Research

java.lang.Object
src.common.Research

public class Research extends Object
Classe che contiene algoritmi statici di ricerca.
Version:
1.0.0
Author:
Lorenzo Radice
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Integer[]
    AllStringInCol(File file, int col, String str)
    Questo metodo ricerca una stringa in un file CSV in una determinata colonna e restituisce ogni riga in cui occorre.
    static Integer[]
    AllStringInCol_notCaseS(File file, int col, String str)
    Questo metodo ricerca una stringa in un file CSV in una determinata colonna e restituisce ogni riga in cui occorre.
    static boolean
    areInSameLine(File file, int col1, int col2, String str1, String str2)
    Controlla se, in un file CSV, esiste una linea in cui c'è sia la prima stringa che la seconda nelle rispettive colonne.
    static Integer[]
    CoordinatesAdvancedV1(File file, int col, double[] c, double err)
    Deprecated.
    Questo metodo è stato sostituito.
    static Integer[]
    CoordinatesAdvancedV2(File file, int col, double[] c)
    Restituisce tutte le linee che contengono le coordinate più vicine a quella passata in argomento.
    static Integer[]
    CoordinatesAdvancedV3(File file, int col, double[] c)
    Restituisce tutte le linee che contengono le coordinate più vicine a quella passata in argomento.
    static String[]
    getColArray(File file, int col)
    Ritorna tutte le celle appartenenti alla colonna selezionata nel file CSV passato come argomento.
    static String[]
    getColNoRepetition(File file, int col)
    Ritorna tutte le celle appartenenti alla colonna selezionata nel file CSV passato come argomento.
    static String[]
    getRecord(File file, int line)
    Cerca in un file CSV la riga in input.
    static String[]
    getRecordByData(File file, int col, String str)
    Cerca in un file CSV la stringa in input.
    static String[]
    getRecordByTwoDatas(File file, int col1, String str1, int col2, String str2)
    Cerca in un file CSV le due stringhe in input.
    static boolean
    isStringInCol(File file, int col, String str)
    Questo metodo ricerca una stringa in un file CSV in una determinata colonna e restituisce true se è presente, false altrimenti.
    static int
    OneStringInCol(File file, int col, String str)
    Questo metodo ricerca una stringa in un file CSV in una determinata colonna e restituisce la riga corrispondente alla sua prima occorrenza.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Research

      public Research()
  • Method Details

    • OneStringInCol

      public static int OneStringInCol(File file, int col, String str)
      Questo metodo ricerca una stringa in un file CSV in una determinata colonna e restituisce la riga corrispondente alla sua prima occorrenza.
      In caso non venga trovata un'occorrenza restituisce: -1
      In caso la colonna in argomento sia maggiore delle colonne del file restituisce: -2
      In caso il file non esista restituisce -3
      Altri errori: -4

      Complessità
      T = O(n)
      Parameters:
      file - file CSV
      col - colonna
      str - stringa
      Returns:
      line
    • AllStringInCol

      public static Integer[] AllStringInCol(File file, int col, String str)
      Questo metodo ricerca una stringa in un file CSV in una determinata colonna e restituisce ogni riga in cui occorre. Questo metodo è case-sensitive

      Complessità
      T = θ(n)
      Parameters:
      file - file CSV
      col - colonna
      str - stringa
      Returns:
      array di Integer contenente le righe
    • AllStringInCol_notCaseS

      public static Integer[] AllStringInCol_notCaseS(File file, int col, String str)
      Questo metodo ricerca una stringa in un file CSV in una determinata colonna e restituisce ogni riga in cui occorre. Questo metodo non è case-sensitive.

      Complessità
      T = θ(n)
      Parameters:
      file - file CSV
      col - colonna
      str - stringa
      Returns:
      array di Integer contenente le righe
    • CoordinatesAdvancedV1

      @Deprecated public static Integer[] CoordinatesAdvancedV1(File file, int col, double[] c, double err)
      Deprecated.
      Questo metodo è stato sostituito.

      Usare invece CoordinatesAdvancedV3(File file, int col, double[] c).

      Questo metodo ricerca le coordinate dei punti più vicini alla coordinata fornita in un file CSV e ne restituisce la riga di appartenenza. Il range è costituito dall'errore. L'errore è considerato in km.

      Complessità
      Caso migliore
      T = O(n)
      S = O(1)
      Caso peggiore
      T = O(n×k), k = numero di incrementi dell'errore prima trovare un risultato
      S = θ(n)
      Parameters:
      file - file CSV
      col - colonna
      c - coordinata fornita
      err - errore/range
      Returns:
      array di Integer contenente le righe
    • CoordinatesAdvancedV2

      public static Integer[] CoordinatesAdvancedV2(File file, int col, double[] c)
      Restituisce tutte le linee che contengono le coordinate più vicine a quella passata in argomento. L'array è restituito con le celle in ordine di vicinanza.

      Complessità
      T = O(n×log(m))
      S = O(m)
      Parameters:
      file - file CSV
      col - colonna
      c - coordinata fornita
      Returns:
      array di Integer contenente le righe
      See Also:
    • CoordinatesAdvancedV3

      public static Integer[] CoordinatesAdvancedV3(File file, int col, double[] c)
      Restituisce tutte le linee che contengono le coordinate più vicine a quella passata in argomento. L'array è restituito con le celle in ordine di vicinanza.

      Complessità
      T = O(n×log(m))
      S = O(m)
      Parameters:
      file - file CSV
      col - colonna
      c - coordinata fornita
      Returns:
      array di Integer contenente le righe
    • isStringInCol

      public static boolean isStringInCol(File file, int col, String str)
      Questo metodo ricerca una stringa in un file CSV in una determinata colonna e restituisce true se è presente, false altrimenti.

      Complessità
      T = O(n)
      Parameters:
      file - file CSV
      col - colonna
      str - stringa
      Returns:
      true se la stringa è presente
    • getRecord

      public static String[] getRecord(File file, int line)
      Cerca in un file CSV la riga in input. Ritorna un array di stringhe contenente le celle della riga.

      Complessità
      T = O(n)
      Parameters:
      file - file CSV
      line - riga
      Returns:
      array delle celle della riga
    • getRecordByData

      public static String[] getRecordByData(File file, int col, String str)
      Cerca in un file CSV la stringa in input. Ritorna un array di stringhe delle celle adiacenti alla prima occorrenza.

      Complessità
      T = O(n)
      Parameters:
      file - file CSV
      col - colonna
      str - stringa
      Returns:
      array di stringhe
    • getRecordByTwoDatas

      public static String[] getRecordByTwoDatas(File file, int col1, String str1, int col2, String str2)
      Cerca in un file CSV le due stringhe in input. Ritorna un array di stringhe delle celle adiacenti alla prima occorrenza.

      Complessità
      T = O(n)
      Parameters:
      file - file CSV
      col1 - colonna della prima stringa
      str1 - prima stringa
      col2 - colonna della seconda stringa
      str2 - seconda stringa
      Returns:
      array di stringhe
    • getColArray

      public static String[] getColArray(File file, int col)
      Ritorna tutte le celle appartenenti alla colonna selezionata nel file CSV passato come argomento.

      Complessità
      T = θ(n)
      Parameters:
      file - file CSV
      col - colonna
      Returns:
      array di stringhe della colonna
    • areInSameLine

      public static boolean areInSameLine(File file, int col1, int col2, String str1, String str2)
      Controlla se, in un file CSV, esiste una linea in cui c'è sia la prima stringa che la seconda nelle rispettive colonne.

      Complessità
      T = O(n)
      Parameters:
      file - file CSV
      col1 - colonna della prima stringa
      col2 - colonna della seconda stringa
      str1 - prima stringa
      str2 - seconda stringa
      Returns:
      true se c'e una linea con entrambe le stringhe
    • getColNoRepetition

      public static String[] getColNoRepetition(File file, int col)
      Ritorna tutte le celle appartenenti alla colonna selezionata nel file CSV passato come argomento.

      Complessità
      T = θ(n)
      Parameters:
      file - file CSV
      col - colonna
      Returns:
      array di stringhe della colonna