public DefaultUDFFinder(String[] functionNames, FreeRefFunction[] functionImpls) {int nFuncs = functionNames.length;if (functionImpls.length != nFuncs) {throw new IllegalArgumentException("Mismatch in number of function names and implementations");}HashMap<String, FreeRefFunction> m = new HashMap<>(nFuncs * 3 / 2);for (int i = 0; i < functionImpls.length; i++) {m.put(functionNames[i].toUpperCase(Locale.ROOT), functionImpls[i]);}_functionsByName = m;}

public DefaultUDFFinder ( String [ ] functionNames , FreeRefFunction [ ] functionImpls ) { int nFuncs = functionNames . length ; if ( functionImpls . length != nFuncs ) { throw new IllegalArgumentException ( "Mismatch in number of function names and implementations" ) ; } HashMap < String , FreeRefFunction > m = new HashMap < > ( nFuncs * 3 / 2 ) ; for ( int i = 0 ; i < functionImpls . length ; i ++ ) { m . put ( functionNames [ i ] . toUpperCase ( Locale . ROOT ) , functionImpls [ i ] ) ; } _functionsByName = m ; }
public DefaultUDFFinder(String[] functionNames, FreeRefFunction[] functionImpls){int nFuncs = functionNames.Length;if (functionImpls.Length != nFuncs){throw new ArgumentException("Mismatch in number of function names and implementations");}Dictionary<String, FreeRefFunction> m = new Dictionary<String, FreeRefFunction>(nFuncs * 3 / 2);for (int i = 0; i < functionImpls.Length; i++){m[functionNames[i].ToUpper()]= functionImpls[i];}_functionsByName = m;}
