Android Open Source - libgdx-chat-example Hash Map To Ordered Array






From Project

Back to project page libgdx-chat-example.

License

The source code is released under:

Apache License

If you think the Android project libgdx-chat-example listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.stofkat.chat.common.util;
/*w w  w . j a  v  a 2s.  c  om*/
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import org.stofkat.chat.common.ChatMessage;

/**
 * Quickly created this util class to fix the sorting. (the client was showing
 * messages in different orders.) You should write some unit tests to verify if
 * it works 100% if you're seriously going to use it.
 * 
 * @author Leejjon
 */
public class HashMapToOrderedArray {

  public static Object[] getOrderedObjectArray(Map<Integer, ChatMessage> chatMessages) {
    HashMap<Integer,ChatMessage> chatMessagesToCopy = new HashMap<Integer,ChatMessage>();
    chatMessagesToCopy.putAll(chatMessages);
    Object[] orderedArray = new Object[chatMessagesToCopy.size()];

    for (int i = 0; i < chatMessages.size(); i++) {
      Integer lowest = getLowestKey(chatMessagesToCopy.values());
      orderedArray[i] = chatMessagesToCopy.get(lowest);
      chatMessagesToCopy.remove(lowest);
    }

    return orderedArray;
  }

  public static Integer getLowestKey(Collection<ChatMessage> chatMessages) {
    Long lowestTimestamp = new Long(Long.MAX_VALUE);
    Integer lowestKey = Integer.MAX_VALUE;
    for (ChatMessage message : chatMessages) {
      if (message.getTimestamp() < lowestTimestamp) {
        lowestTimestamp = message.getTimestamp();
        lowestKey = new Integer(message.getId());
      }
    }

    return lowestKey;
  }
}




Java Source Code List

org.stofkat.chat.android.AndroidChat.java
org.stofkat.chat.android.AndroidDispatchServiceAsync.java
org.stofkat.chat.android.ChatActivity.java
org.stofkat.chat.common.ChatMessage.java
org.stofkat.chat.common.ClientInterface.java
org.stofkat.chat.common.actions.Action.java
org.stofkat.chat.common.actions.ChatAction.java
org.stofkat.chat.common.actions.UpdateAction.java
org.stofkat.chat.common.exceptions.ActionException.java
org.stofkat.chat.common.exceptions.DispatchException.java
org.stofkat.chat.common.exceptions.ServiceException.java
org.stofkat.chat.common.exceptions.UnsupportedActionException.java
org.stofkat.chat.common.results.ChatResult.java
org.stofkat.chat.common.results.Result.java
org.stofkat.chat.common.util.HashMapToOrderedArray.java
org.stofkat.chat.common.util.LowestIdFinder.java
org.stofkat.chat.core.ChatTextField.java
org.stofkat.chat.core.Chat.java
org.stofkat.chat.core.PickNameStage.java
org.stofkat.chat.core.ServerInterface.java
org.stofkat.chat.core.UpdateTask.java
org.stofkat.chat.html.ChatHtml.java
org.stofkat.chat.html.HtmlChat.java
org.stofkat.chat.html.dispatch.GwtAsyncCallbackHandler.java
org.stofkat.chat.html.dispatch.GwtDispatchServiceAsync.java
org.stofkat.chat.html.dispatch.GwtDispatchService.java
org.stofkat.chat.http.dispatch.AsyncCallbackHandler.java
org.stofkat.chat.http.dispatch.AsyncCallback.java
org.stofkat.chat.http.dispatch.CustomCookieStore.java
org.stofkat.chat.http.dispatch.HttpDispatchServiceAsync.java
org.stofkat.chat.http.dispatch.HttpUtils.java
org.stofkat.chat.java.ChatDesktop.java
org.stofkat.chat.java.DesktopChat.java
org.stofkat.chat.java.DesktopDispatchServiceAsync.java
org.stofkat.chat.server.AbstractDispatch.java
org.stofkat.chat.server.ActionHandlerRegistry.java
org.stofkat.chat.server.ActionHandler.java
org.stofkat.chat.server.ActionResult.java
org.stofkat.chat.server.ChatMessagesDatabase.java
org.stofkat.chat.server.DefaultActionHandlerRegistry.java
org.stofkat.chat.server.Dispatch.java
org.stofkat.chat.server.InstanceActionHandlerRegistry.java
org.stofkat.chat.server.SimpleDispatch.java
org.stofkat.chat.server.actionhandlers.ChatActionHandler.java
org.stofkat.chat.server.actionhandlers.UpdateActionHandler.java
org.stofkat.chat.server.gwt.dispatch.GwtDispatchServlet.java
org.stofkat.chat.server.http.dispatch.HttpDispatchServlet.java