标签: linkedhashmap

removeEldestEntry

我怎么可以重写removeEldestEntry方法节约与帮助到文件最旧的条目FileOutputStream,DataOutputStreamwriteObject().码.

这是一个例子:

import java.util.*;

public class level1 {
private static final int max_cache = 50;
private Map cache = new LinkedHashMap(max_cache, .75F, true) {
    protected boolean removeEldestEntry(Map.Entry eldest) {
        return size() > max_cache;
    }
};


public level1() {
    for (int i = 1; i < 52; i++) {
        String string = String.valueOf(i);
        cache.put(string, string);
        System.out.println("\rCache size = " + cache.size() +
                           "\tRecent value = " + i + " \tLast value = …
Run Code Online (Sandbox Code Playgroud)

java collections linkedhashmap

3
推荐指数
1
解决办法
4464
查看次数

LinkedHashMap到Pojo

我有一个链接哈希映射的变量.就像是:

"message": "something"
"code": "0"
Run Code Online (Sandbox Code Playgroud)

我有一个pojo:

String message;
Integer code;
//getters and setters
Run Code Online (Sandbox Code Playgroud)

是否有任何库将linkedhasmap转换为pojo?

java pojo linkedhashmap

3
推荐指数
1
解决办法
1542
查看次数

如何从HashMap或LinkedHashMap获取有限数量的值?

假设我有一个LinkedHashMap包含216个条目,我如何Object从a 获得前100个值(此处为类型)LinkedHashMap<Integer, Object>.

java hashmap linkedhashmap

3
推荐指数
1
解决办法
4926
查看次数

在TreeMap,HashMap或LinkedHashMap中使用重复键存储值

我目前正在开展一个项目,我正在从社会安全网站上检索有关名称的数据.基本上我给了一个数字x,和y和z年.我必须从y到z的每一年返回前x个名字.

因此,从网站返回的数据是名称,等级和年份.我必须输入返回到TreeMap,HashMap或LinkedHashMap的每个名称,但我不确定如何存储它们,因为无论我使用什么作为键,都可能存在重复.这一年不能成为关键,因为我每年都会得到最多的x名,所以他们都将来自同一年.如果有多年,会有几个等级1等名称,因为每年都有一个,所以这不是关键.名称本身不是关键,因为多年来同名的名字可能在前几名中.

我已经设法理解了这个项目的大部分复杂部分,但这是最简单的部分之一,我似乎无法理解!

我听说过我可以使用类似年份的方法作为键,并使值成为名称或类似的列表,但我不确定如何在这样的实现中添加值.我非常感谢任何建议!

非常感谢.

编辑:请注意我被特别告知我必须使用TreeMap,HashMap或LinkedHashMap.我听说过MultiMap,但这不是我的选择之一.

java key hashmap treemap linkedhashmap

3
推荐指数
1
解决办法
1万
查看次数

LinkedHashMap的缺点?

使用LinkedHashMap而不是HashMap有什么缺点吗?大多数帖子似乎都在讨论LinkedHashMaps(例如这个API)的优点,但我找不到HashMaps更好的原因.

java hashmap linkedhashmap data-structures

3
推荐指数
1
解决办法
1483
查看次数

为什么@ResponseBody返回已排序的LinkedHashMap未排序?

这是SpringMVC Controller代码片段:

@RequestMapping(value = "/getCityList", method = RequestMethod.POST)
public @ResponseBody LinkedHashMap<String, String> getCityList(@RequestParam(value = "countryCode") String countryCode, HttpServletRequest request) throws Exception {
    //gets ordered city list of country  [sorted by city name]
    LinkedHashMap<String, String> cityList = uiOperationsService.getCityList(countryCode); 

    for (String s : cityList.values()) {
        System.out.println(s); //prints sorted list  [sorted by name]
    }
    return cityList;
}
Run Code Online (Sandbox Code Playgroud)

这是ajax调用:

function fillCityList(countryCode) {
        $.ajax({
            type: "POST",
            url: '/getCityList',
            data: {countryCode:countryCode},
            beforeSend:function(){
                $('#city').html("<option value=''>-- SELECT --</option>" );
            }
        }).done(function (data) {

            console.log(data); // UNSORTED JSON STRING …
Run Code Online (Sandbox Code Playgroud)

java sorting json spring-mvc linkedhashmap

3
推荐指数
1
解决办法
2999
查看次数

Java从LinkedHashMap获取值,其中包含密钥的一部分

我有以下键值系统(HashMap),其中String将是像这样的"2014/12/06"的键.

LinkedHashMap<String, Value>
Run Code Online (Sandbox Code Playgroud)

所以,我可以检索一个知道密钥的项目,但我正在寻找的是一种方法来检索一个值的列表,哪个密钥匹配部分匹配,我的意思是,我怎样才能检索到2014年的所有值?

我想避免像测试列表中的每个项目,暴力或类似的解决方案.

谢谢.

java hashmap key-value linkedhashmap

3
推荐指数
1
解决办法
510
查看次数

如何有效地从Java中的LinkedHashMap中删除条目?

我想从LinkedHashMap中删除在具有给定键的项之后添加的所有项。

我的第一次尝试是:

LinkedHashMap<String, SomeObject> var = new LinkedHashMap<String, SomeObject>();

public void removeEntriesAfter(String key) {
  boolean deleteEntries = false;
  for (String currentKey : var.keySet()) {
    if(deleteEntries) {
      var.remove(currentKey);
    } else {
      if(key.equalsIgnoreCase(currentKey)) {
        // Do not remove the current entry
        deleteEntries = true;
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但后来我收到了java.util.ConcurrentModificationException

我的第二个想法是先确定键,然后再删除它们。

public void removeEntriesAfter(String key) {
  boolean deleteEntries = false;
  List<String> listOfEntriesToBeRemoved = new ArrayList<String>();

  // Determine entries to be deleted
  for (String currentKey : var.keySet()) {
    if(deleteEntries) {
      listOfEntriesToBeRemoved.add(currentKey);
    } …
Run Code Online (Sandbox Code Playgroud)

java iteration iterator loops linkedhashmap

3
推荐指数
1
解决办法
3616
查看次数

Android-如何从Firebase中按插入顺序检索对象列表?

我想要什么?

我想从Firebase数据库中按插入顺序检索对象列表。

如何将对象添加到Firebase数据库中的列表?

mRefUser.push()。setValue(new MessageItem());

mRefUser.push()。setValue(new MessageItem());

mRefUser.push()。setValue(new MessageItem());

如何添加?

Firebase将每个对象存储为HashMap中的键值对。

在此处输入图片说明

我如何检索这些值?

mFireBaseRefnew.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            final Map<String, MessageItem> messageMap = new LinkedHashMap<String, MessageItem>();
            if (dataSnapshot != null && dataSnapshot.getValue() != null) {

                for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                    HashMap<String,MessageItem> messageMap = (HashMap<String, MessageItem>) postSnapshot.getValue();
                    Collection<MessageItem> messageItems = messageMap.values() ;
                    List<MessageItem> messageItemList = new ArrayList<MessageItem>();
                    messageItemList.addAll(messageItems);                     
            }
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });
Run Code Online (Sandbox Code Playgroud)

我得到什么?

在此处输入图片说明

最后说明:-

哈希键是随机的。有什么方法可以获取链接的哈希图而不是哈希图。我不想存储密钥,因为数据库保持顺序,应该有一些方法可以使它们保持相同的顺序,但是我不知道如何获取它们。

android linkedhashmap firebase firebase-realtime-database

3
推荐指数
1
解决办法
5865
查看次数

在调用LinkedHashMap的put()方法之后,如何在'之前'和'之后'更新变量?

LinkedHashMap延伸HashMap.代码中put()不存在方法LinkedHashMap.java.所以我认为如果我可以put()在下面的程序中调用方法,那么它必须是从中继承的put()方法HashMap.

import java.util.*;
class First
{
        public static void main(String[] args)
        {
                LinkedHashMap<Key, String> h=new LinkedHashMap<>(7);
                h.put(new Key(3), "Hi");
                h.put(new Key(1), "Hello");
                h.put(new Key(9), "hru");
                System.out.println(h);
        }
}
Run Code Online (Sandbox Code Playgroud)

Key.java是:

class Key
{
        int i = 0;
        Key(int i)
        {
                this.i=i;
        }
        public int hashCode()
        {
                return i;
        }
        public String toString()
        {
                return i+"";
        }
}
Run Code Online (Sandbox Code Playgroud)

它必须维护'after'和'before'引用以保留插入顺序:http://a.disquscdn.com/uploads/mediaembed/images/3751/7481/original.jpg

但是put()方法in HashMap不知道这些变量.那么如何调用put()维护这些变量呢? …

java collections linkedhashmap

3
推荐指数
1
解决办法
162
查看次数