Java Code Examples for it.unimi.dsi.fastutil.ints.Int2IntMap#get()
The following examples show how to use
it.unimi.dsi.fastutil.ints.Int2IntMap#get() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: NoDictionarySingleColumnGroupKeyGenerator.java From incubator-pinot with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") private int getKeyForValue(int value) { Int2IntMap map = (Int2IntMap) _groupKeyMap; int groupId = map.get(value); if (groupId == INVALID_ID) { if (_numGroups < _globalGroupIdUpperBound) { groupId = _numGroups; map.put(value, _numGroups++); } } return groupId; }
Example 2
Source File: FindCoversGenerator.java From metanome-algorithms with Apache License 2.0 | 4 votes |
private IntList generateInitialOrdering(List<DifferenceSet> tempDiffSet) { IntList result = new IntArrayList(); Int2IntMap counting = new Int2IntArrayMap(); for (DifferenceSet ds : tempDiffSet) { int lastIndex = ds.getAttributes().nextSetBit(0); while (lastIndex != -1) { if (!counting.containsKey(lastIndex)) { counting.put(lastIndex, 1); } else { counting.put(lastIndex, counting.get(lastIndex) + 1); } lastIndex = ds.getAttributes().nextSetBit(lastIndex + 1); } } // TODO: Comperator und TreeMap --> Tommy while (true) { if (counting.size() == 0) { break; } int biggestAttribute = -1; int numberOfOcc = 0; for (int attr : counting.keySet()) { if (biggestAttribute < 0) { biggestAttribute = attr; numberOfOcc = counting.get(attr); continue; } int tempOcc = counting.get(attr); if (tempOcc > numberOfOcc) { numberOfOcc = tempOcc; biggestAttribute = attr; } else if (tempOcc == numberOfOcc) { if (biggestAttribute > attr) { biggestAttribute = attr; } } } if (numberOfOcc == 0) { break; } result.add(biggestAttribute); counting.remove(biggestAttribute); } return result; }
Example 3
Source File: FindCoversGenerator.java From metanome-algorithms with Apache License 2.0 | 4 votes |
private IntList generateNextOrdering(List<DifferenceSet> next, IntList currentOrdering, int attribute) { IntList result = new IntArrayList(); Int2IntMap counting = new Int2IntArrayMap(); boolean seen = false; for (int i = 0; i < currentOrdering.size(); i++) { if (!seen) { if (currentOrdering.getInt(i) == attribute) { seen = true; } } else { counting.put(currentOrdering.getInt(i), 0); for (DifferenceSet ds : next) { if (ds.getAttributes().get(currentOrdering.getInt(i))) { counting.put(currentOrdering.getInt(i), counting.get(currentOrdering.getInt(i)) + 1); } } } } // TODO: Comperator und TreeMap --> Tommy while (true) { if (counting.size() == 0) { break; } int biggestAttribute = -1; int numberOfOcc = 0; for (int attr : counting.keySet()) { if (biggestAttribute < 0) { biggestAttribute = attr; numberOfOcc = counting.get(attr); continue; } int tempOcc = counting.get(attr); if (tempOcc > numberOfOcc) { numberOfOcc = tempOcc; biggestAttribute = attr; } else if (tempOcc == numberOfOcc) { if (biggestAttribute > attr) { biggestAttribute = attr; } } } if (numberOfOcc == 0) { break; } result.add(biggestAttribute); counting.remove(biggestAttribute); } return result; }
Example 4
Source File: WikipediaEdges.java From tagme with Apache License 2.0 | 4 votes |
@Override protected void parseFile(File file) throws IOException { final Int2IntMap redirects = DatasetLoader.get(new RedirectMap(lang)); final IntSet disambiguations = DatasetLoader.get(new DisambiguationWIDs(lang)); final IntSet listpages = DatasetLoader.get(new ListPageWIDs(lang)); final IntSet ignores = DatasetLoader.get(new IgnoreWIDs(lang)); final IntSet valids = new AllWIDs(lang).getDataset();//DatasetLoader.get(new AllWIDs(lang)); valids.removeAll(redirects.keySet()); //valids.removeAll(disambiguations); //valids.removeAll(listpages); valids.removeAll(ignores); final Object2IntMap<String> titles = DatasetLoader.get(new TitlesToWIDMap(lang)); File tmp = Dataset.createTmpFile(); final BufferedWriter out = new BufferedWriter(new FileWriter(tmp)); SQLWikiParser parser = new SQLWikiParser(log) { @Override public boolean compute(ArrayList<String> values) throws IOException { int idFrom = Integer.parseInt(values.get(SQLWikiParser.PAGELINKS_ID_FROM)); if (redirects.containsKey(idFrom)) idFrom = redirects.get(idFrom); int ns = Integer.parseInt(values.get(SQLWikiParser.PAGELINKS_NS)); if (ns == SQLWikiParser.NS_ARTICLE && !redirects.containsKey(idFrom) && !ignores.contains(idFrom) && //questo e' necessario perchè alcune pagine che sono delle liste, in inglese finiscono //tra le pagine di disambiguazione (per via della categoria All_set_index_articles) (listpages.contains(idFrom) || !disambiguations.contains(idFrom)) //!listpages.contains(idFrom) && !disambiguations.contains(idFrom) && valids.contains(idFrom) /**/ ) { String titleTo = Dataset.cleanPageName(values.get(SQLWikiParser.PAGELINKS_TITLE_TO)); int idTo = titles.getInt(titleTo); if (redirects.containsKey(idTo)) idTo = redirects.get(idTo); if (idTo >= 0 && !ignores.contains(idTo) && (listpages.contains(idFrom) || !disambiguations.contains(idFrom)) && valids.contains(idTo)) { out.append(Integer.toString(idFrom)); out.append(SEP_CHAR); out.append(Integer.toString(idTo)); out.append('\n'); return true; } } return false; } }; File input = WikipediaFiles.PAGE_LINKS.getSourceFile(lang); parser.compute(input); out.close(); log.info("Now sorting edges..."); ExternalSort sorter = new ExternalSort(); sorter.setUniq(true); sorter.setNumeric(true); sorter.setColumns(new int[]{0,1}); sorter.setInFile(tmp.getAbsolutePath()); sorter.setOutFile(file.getAbsolutePath()); sorter.run(); tmp.delete(); log.info("Sorted. Done."); }