Map TreeMap get key by value Java Android example
Get key by value from Map Java Android example
MainClass.java
MainClass.java
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
public class MainClass {
public static void main(String[] arg) {
// english;germany dictionary
String[] arrayOfString = { "one;eine", "two;zwei", "two sets of;zwei"
, "three;drei", "four;vier" };
Map<String, String> map = new TreeMap<String, String>();
for (String s : arrayOfString) {
String[] array = s.split(";");
String sKey = "", sValue = "";
if (array.length > 1) {
sKey = array[0];
sValue = array[1];
map.put(sKey, sValue);
}
}
if (map.containsValue("zwei")) {
Set<String> references = getKeysByValue(map, "zwei");
Iterator<String> it = references.iterator();
while (it.hasNext()) {
String key = (String) it.next();
String value = map.get(key);
System.out.println(key + " = " + value);
}
}
}
public static <T, E> Set<T> getKeysByValue(Map<T, E> map, E value) {
Set<T> keys = new HashSet<T>();
for (Entry<T, E> entry : map.entrySet()) {
if (entry.getValue().equals(value)) {
keys.add(entry.getKey());
}
}
return keys;
}
}
/*
two = zwei
two sets of = zwei
*/
396LW NO topic_id
AD
Další témata ....(Topics)
Integer, Float, String, List passed as reference in JAVA example source code:
// List passed as reference JAVA
List<Integer>list = new ArrayList<Integer>();
public void fc (List<Integer>listRef){
listRef.add(7);
listRef.add(5);
}
fc(list); // 7, 5
// String passed as reference JAVA
public void mutate(AtomicReference<Object> ref) { ref.set("Goodbye"); }
AtomicReference<Object> ref = new AtomicReference<Object>("Hello");
mutate(ref);
System.out.println(ref.get()); //Goodbye!
String s = (String) ref.get();
// Integer passed as reference JAVA
private static void mutate(AtomicReference<Object> ref) { ref.set(7); }
//public static void main(String[] arg) {
AtomicReference<Object> ref = new AtomicReference<Object>(5);
mutate(ref);
System.out.println(ref.get()); // 7
int n = (Integer) ref.get();
// Float passed as reference JAVA
private static void mutate(AtomicReference<Object> ref) { ref.set(14.8f); }
//public static void main(String[] arg) {
AtomicReference<Object> ref = new AtomicReference<Object>(12.1f);
mutate(ref);
float f = (Float) ref.get();
System.out.println(f); //14.8
Important: Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB
Example of usage:
int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
android.R.layout.simple_list_item_activated_1 :
android.R.layout.simple_list_item_1;
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
getListView().setItemChecked(position, true);
Example of usage:
public void updateList() {
Context ctx = getActivity();
Notes notes = new Notes(ctx);
String[] from = { Notes.COLUMN_TITLE };
int[] to = { android.R.id.text1 };
int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
android.R.layout.simple_list_item_activated_1 : android.R.layout.simple_list_item_1;
ListAdapter adapter = new SimpleCursorAdapter(ctx,
layout, notes.getNotes(), from,
to, 0);
setListAdapter(adapter);
notes.close();
}
/..................
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// Set the item as checked to be highlighted when in two-pane layout
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
getListView().setItemChecked(position, true);
}
Dil 3. HeadlinesFragment.java
V 1. dílu jsme se něco dozvěděli od XML souborech
V 2. dílu jsme rozebrali MainActivity.java
V tomto dílu si rozebereme záludnosti v HeadlinesFragment.java souboru.
Používáme příklad i zip porojekt z https://developer.android.com/training/basics/fragments/creating.html Pozorně si jej nastudujte.
V 1. dílu jsme se něco dozvěděli od XML souborech
V 2. dílu jsme rozebrali MainActivity.java
V tomto dílu si rozebereme záludnosti v HeadlinesFragment.java souboru.
Používáme příklad i zip porojekt z https://developer.android.com/training/basics/fragments/creating.html Pozorně si jej nastudujte.
package com.example.android.fragments;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
// pokud chceme aby byla aplikace spustitelná i v nižších verzích Androidu
import android.support.v4.app.ListFragment;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
// extends ListFragment důležité pro základní obsluhu ListView atd.
public class HeadlinesFragment extends ListFragment {
// zajistí zpětné odesílání zprav - zde zachytí kliknutí uživatele na položku
// v ListView - seznamu položek
OnHeadlineSelectedListener mCallback;
// pro odposlouchávání zpráv v ListView a odesílání do MainActivity.java
public interface OnHeadlineSelectedListener {
/**
funkce je volána onArticleSelected z HeadlinesFragment když uživatel
klikne na item v ListView - položku seznamu -
Tělo funkce je v MainActivity!!! Tam proběhnou potřebné úkony.
Například výměna fragmentů atd. */
public void onArticleSelected(int position);
}
/** Protože je HeadlinesFragment rozšířením (extends) ListFragment
používá funkci onCreate().
ArticleFragment extends Fragment bude používat onCreateView()
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Zde si pohlídáme verze Androidu a přiřadíme jim
// předdefinovanou šablonu XML souboru
// Je to důležité pokud chceme využívat více možností,
// které nové verze nabízejí
// například podbarvení vybrané položky seznamu
int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
android.R.layout.simple_list_item_activated_1 : android.R.layout.simple_list_item_1;
// zde se vytovoří jednotlivé položky seznamu v ListView
// Pole vypadá takto:
// static String[] Headlines = {"Article One","Article Two"};
// položky tedy ponesou názvy ze String[] Headlines
// Teoreticky si menší pole položek můžete dát i sem pro jednodušší editaci
setListAdapter(new ArrayAdapter<String>(getActivity(), layout, Ipsum.Headlines));
}
@Override
public void onStart() {
super.onStart();
// Pokud se bude zobrazovat dual-panel
// (pro tablety, větší obrazovky)
// například je dobré
// když bude zvýrazněna vybraná položka setChoiceMode(ListView.CHOICE_MODE_SINGLE);
// Toto provádíme v onStart(), kdy máme přístup k listview
if (getFragmentManager().findFragmentById(R.id.article_fragment) != null) {
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}
}
// onAttach() bude asi deprecated, tak můžete vyzkoušet
/*
@Override
public void onAttach(Context context) {
super.onAttach(context);
Activity a;
if (context instanceof Activity){
a=(Activity) context;
}
}
*/
// nebo pohledat něco na inetu
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
// Zde přiřadíme odposlouchávání zprávy kliknutí na položku ListView
// a zpětnou vazbu s MainActivity.
// Pokud se to nepodaří, bude zaznamenáno a předáno dál chybové hlášení
try {
mCallback = (OnHeadlineSelectedListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnHeadlineSelectedListener");
}
}
/** kliknuto na položku ListView */
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// long id se bude hodit například při obsluze sql.databází
// Upozorní - předá zprávu MainActivity.java, že uživatel
// klikl na položku a odešle i pozici v seznamu
mCallback.onArticleSelected(position);
// getListView().setItemChecked(position, true);
// má zajistit podbarvení
// - zvýraznění vybrané položky,
// ale mi to nefungovalo, tak jsem ještě znovu přidal,
// které je už v onStart() a už to funguje jak má
// Možná nějaká záludnost v mém telefonu :(
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
getListView().setItemChecked(position, true);
}
}
Table of usability of mobile phones with Android – February 2012 - (application Sky Map)
1 | Samsung Galaxy S2 | 6.3% |
2 | HTC Desire HD | 3.5% |
3 | HTC Evo 4G | 3.4% |
4 | Samsung Galaxy Ace | 2.1% |
5 | Samsung Galaxy S (SCH-I500) | 2.1% |
6 | Samsung Galaxy S (GT-I9000) | 2.1% |
7 | HTC Incredible 2 | 2.0% |
8 | Motorola Droid X | 1.9% |
9 | Motorola Droid RAZR | 1.9% |
10 | HTC Sensation 4G | 1.7% |
PNG, GIF, BMP, JPG
// //www.apache.org/licenses/LICENSE-2.0
// 1.) Bitmap from stream
InputStream is = context.getResources().openRawResource(R.drawable.my_image);
mBitmap = BitmapFactory.decodeStream(is);
// 2.)
Bitmap ball = BitmapFactory.decodeResource(getResources(), R.drawable.ball);
int dstWidth =120;
int dstHeight = 120;
mBitmap = Bitmap.createScaledBitmap(ball, dstWidth, dstHeight, true);
// 3.)
Bitmap mBitmap = Bitmap.createBitmap(320, 480, Bitmap.Config.ARGB_8888);
Bitmap mBitmap;
Canvas mCanvas;
Paint mBitmapPaint;
mBitmap = Bitmap.createBitmap(320, 480, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
mBitmapPaint = new Paint(Paint.DITHER_FLAG);
// 4.)
Bitmap mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.RGB_565);
Canvas mCanvas.setBitmap(mBitmap);
mCanvas.drawColor(0xFFFFFFFF);
Editace: 2013-12-09 13:29:23
Počet článků v kategorii: 396
Url:map-treemap-get-key-by-value-java-android-example