{"action":"created","comment":{"url":"https://api.github.com/repos/libgdx/libgdx/pulls/comments/33405674","id":33405674,"diff_hunk":"@@ -398,6 +398,38 @@ public void truncate (int newSize) {\n \t\tsize = newSize;\r\n \t}\r\n \r\n+\t@Override\r\n+\tpublic int hashCode () {\r\n+\t\tint h = 0;\r\n+\t\tfor (Entry<K, V> entry : entries()) {\r\n+\t\t\th += (entry.key != null ? entry.key.hashCode() : 0) * 31;\r\n+\t\t\th += (entry.value != null ? entry.value.hashCode() : 0);\r\n+\t\t}\r\n+\t\treturn h;\r\n+\t}\r\n+\r\n+\t@Override\r\n+\tpublic boolean equals (Object obj) {\r\n+\t\tif (obj == this) return true;\r\n+\t\tif (!(obj instanceof ArrayMap)) return false;\r\n+\t\tArrayMap<K, V> other = (ArrayMap) obj;\r\n+\t\tif (other.size != size) return false;\r\n+\t\tfor (Entry<K, V> entry : entries()) {\r\n+\t\t\tObject otherValue = other.get(entry.key);\r\n+\t\t\tif (entry.value == null) {\r\n+\t\t\t\tif (!other.containsKey(entry.key) || other.get(entry.key) != null) {\r\n+\t\t\t\t\treturn false;\r\n+\t\t\t\t}\r\n+\t\t\t} else {\r\n+\t\t\t\tif (!entry.value.equals(other.get(entry.key))) {\r","path":"gdx/src/com/badlogic/gdx/utils/ArrayMap.java","position":27,"original_position":27,"commit_id":"83d6777fc71311e5b437d6234198b55d3982920d","original_commit_id":"83d6777fc71311e5b437d6234198b55d3982920d","user":{"login":"NathanSweet","id":434010,"avatar_url":"https://avatars.githubusercontent.com/u/434010?v=3","gravatar_id":"","url":"https://api.github.com/users/NathanSweet","html_url":"https://github.com/NathanSweet","followers_url":"https://api.github.com/users/NathanSweet/followers","following_url":"https://api.github.com/users/NathanSweet/following{/other_user}","gists_url":"https://api.github.com/users/NathanSweet/gists{/gist_id}","starred_url":"https://api.github.com/users/NathanSweet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NathanSweet/subscriptions","organizations_url":"https://api.github.com/users/NathanSweet/orgs","repos_url":"https://api.github.com/users/NathanSweet/repos","events_url":"https://api.github.com/users/NathanSweet/events{/privacy}","received_events_url":"https://api.github.com/users/NathanSweet/received_events","type":"User","site_admin":false},"body":"Excessive gets. I assume all maps have this so I won't comment about it anymore.","created_at":"2015-06-26T23:56:13Z","updated_at":"2015-06-26T23:56:13Z","html_url":"https://github.com/libgdx/libgdx/pull/3236#discussion_r33405674","pull_request_url":"https://api.github.com/repos/libgdx/libgdx/pulls/3236","_links":{"self":{"href":"https://api.github.com/repos/libgdx/libgdx/pulls/comments/33405674"},"html":{"href":"https://github.com/libgdx/libgdx/pull/3236#discussion_r33405674"},"pull_request":{"href":"https://api.github.com/repos/libgdx/libgdx/pulls/3236"}}},"pull_request":{"url":"https://api.github.com/repos/libgdx/libgdx/pulls/3236","id":38662278,"html_url":"https://github.com/libgdx/libgdx/pull/3236","diff_url":"https://github.com/libgdx/libgdx/pull/3236.diff","patch_url":"https://github.com/libgdx/libgdx/pull/3236.patch","issue_url":"https://api.github.com/repos/libgdx/libgdx/issues/3236","number":3236,"state":"open","locked":false,"title":"Implement equals/hashCode for collection classes","user":{"login":"Antag99","id":7714919,"avatar_url":"https://avatars.githubusercontent.com/u/7714919?v=3","gravatar_id":"","url":"https://api.github.com/users/Antag99","html_url":"https://github.com/Antag99","followers_url":"https://api.github.com/users/Antag99/followers","following_url":"https://api.github.com/users/Antag99/following{/other_user}","gists_url":"https://api.github.com/users/Antag99/gists{/gist_id}","starred_url":"https://api.github.com/users/Antag99/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Antag99/subscriptions","organizations_url":"https://api.github.com/users/Antag99/orgs","repos_url":"https://api.github.com/users/Antag99/repos","events_url":"https://api.github.com/users/Antag99/events{/privacy}","received_events_url":"https://api.github.com/users/Antag99/received_events","type":"User","site_admin":false},"body":"This pull request implements `equals()` and `hashCode()` for all array and map classes in libgdx. It omits the `com.badlogic.gdx.utils.PooledLinkedList` and `com.badlogic.gdx.utils.SortedIntList` classes. It does, however, not omit `BinaryHeap`, which is patched in commit 83d6777fc71311e5b437d6234198b55d3982920d along with the map classes. Fixes #3204.","created_at":"2015-06-26T15:45:46Z","updated_at":"2015-06-26T23:56:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"83696e3cc1776e3e7fbf9ddeb3af2ee86bd5bbec","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/libgdx/libgdx/pulls/3236/commits","review_comments_url":"https://api.github.com/repos/libgdx/libgdx/pulls/3236/comments","review_comment_url":"https://api.github.com/repos/libgdx/libgdx/pulls/comments{/number}","comments_url":"https://api.github.com/repos/libgdx/libgdx/issues/3236/comments","statuses_url":"https://api.github.com/repos/libgdx/libgdx/statuses/83d6777fc71311e5b437d6234198b55d3982920d","head":{"label":"Antag99:collections-equals-hashCode","ref":"collections-equals-hashCode","sha":"83d6777fc71311e5b437d6234198b55d3982920d","user":{"login":"Antag99","id":7714919,"avatar_url":"https://avatars.githubusercontent.com/u/7714919?v=3","gravatar_id":"","url":"https://api.github.com/users/Antag99","html_url":"https://github.com/Antag99","followers_url":"https://api.github.com/users/Antag99/followers","following_url":"https://api.github.com/users/Antag99/following{/other_user}","gists_url":"https://api.github.com/users/Antag99/gists{/gist_id}","starred_url":"https://api.github.com/users/Antag99/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Antag99/subscriptions","organizations_url":"https://api.github.com/users/Antag99/orgs","repos_url":"https://api.github.com/users/Antag99/repos","events_url":"https://api.github.com/users/Antag99/events{/privacy}","received_events_url":"https://api.github.com/users/Antag99/received_events","type":"User","site_admin":false},"repo":{"id":34892375,"name":"libgdx","full_name":"Antag99/libgdx","owner":{"login":"Antag99","id":7714919,"avatar_url":"https://avatars.githubusercontent.com/u/7714919?v=3","gravatar_id":"","url":"https://api.github.com/users/Antag99","html_url":"https://github.com/Antag99","followers_url":"https://api.github.com/users/Antag99/followers","following_url":"https://api.github.com/users/Antag99/following{/other_user}","gists_url":"https://api.github.com/users/Antag99/gists{/gist_id}","starred_url":"https://api.github.com/users/Antag99/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Antag99/subscriptions","organizations_url":"https://api.github.com/users/Antag99/orgs","repos_url":"https://api.github.com/users/Antag99/repos","events_url":"https://api.github.com/users/Antag99/events{/privacy}","received_events_url":"https://api.github.com/users/Antag99/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Antag99/libgdx","description":"Desktop/Android/HTML5/iOS Java game development framework","fork":true,"url":"https://api.github.com/repos/Antag99/libgdx","forks_url":"https://api.github.com/repos/Antag99/libgdx/forks","keys_url":"https://api.github.com/repos/Antag99/libgdx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Antag99/libgdx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Antag99/libgdx/teams","hooks_url":"https://api.github.com/repos/Antag99/libgdx/hooks","issue_events_url":"https://api.github.com/repos/Antag99/libgdx/issues/events{/number}","events_url":"https://api.github.com/repos/Antag99/libgdx/events","assignees_url":"https://api.github.com/repos/Antag99/libgdx/assignees{/user}","branches_url":"https://api.github.com/repos/Antag99/libgdx/branches{/branch}","tags_url":"https://api.github.com/repos/Antag99/libgdx/tags","blobs_url":"https://api.github.com/repos/Antag99/libgdx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Antag99/libgdx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Antag99/libgdx/git/refs{/sha}","trees_url":"https://api.github.com/repos/Antag99/libgdx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Antag99/libgdx/statuses/{sha}","languages_url":"https://api.github.com/repos/Antag99/libgdx/languages","stargazers_url":"https://api.github.com/repos/Antag99/libgdx/stargazers","contributors_url":"https://api.github.com/repos/Antag99/libgdx/contributors","subscribers_url":"https://api.github.com/repos/Antag99/libgdx/subscribers","subscription_url":"https://api.github.com/repos/Antag99/libgdx/subscription","commits_url":"https://api.github.com/repos/Antag99/libgdx/commits{/sha}","git_commits_url":"https://api.github.com/repos/Antag99/libgdx/git/commits{/sha}","comments_url":"https://api.github.com/repos/Antag99/libgdx/comments{/number}","issue_comment_url":"https://api.github.com/repos/Antag99/libgdx/issues/comments{/number}","contents_url":"https://api.github.com/repos/Antag99/libgdx/contents/{+path}","compare_url":"https://api.github.com/repos/Antag99/libgdx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Antag99/libgdx/merges","archive_url":"https://api.github.com/repos/Antag99/libgdx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Antag99/libgdx/downloads","issues_url":"https://api.github.com/repos/Antag99/libgdx/issues{/number}","pulls_url":"https://api.github.com/repos/Antag99/libgdx/pulls{/number}","milestones_url":"https://api.github.com/repos/Antag99/libgdx/milestones{/number}","notifications_url":"https://api.github.com/repos/Antag99/libgdx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Antag99/libgdx/labels{/name}","releases_url":"https://api.github.com/repos/Antag99/libgdx/releases{/id}","created_at":"2015-05-01T06:36:33Z","updated_at":"2015-05-01T06:36:54Z","pushed_at":"2015-06-26T15:37:00Z","git_url":"git://github.com/Antag99/libgdx.git","ssh_url":"git@github.com:Antag99/libgdx.git","clone_url":"https://github.com/Antag99/libgdx.git","svn_url":"https://github.com/Antag99/libgdx","homepage":"http://www.libgdx.com/","size":879256,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"libgdx:master","ref":"master","sha":"cda1a14ea1eadd25a809df8abeda559451990dbd","user":{"login":"libgdx","id":509841,"avatar_url":"https://avatars.githubusercontent.com/u/509841?v=3","gravatar_id":"","url":"https://api.github.com/users/libgdx","html_url":"https://github.com/libgdx","followers_url":"https://api.github.com/users/libgdx/followers","following_url":"https://api.github.com/users/libgdx/following{/other_user}","gists_url":"https://api.github.com/users/libgdx/gists{/gist_id}","starred_url":"https://api.github.com/users/libgdx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/libgdx/subscriptions","organizations_url":"https://api.github.com/users/libgdx/orgs","repos_url":"https://api.github.com/users/libgdx/repos","events_url":"https://api.github.com/users/libgdx/events{/privacy}","received_events_url":"https://api.github.com/users/libgdx/received_events","type":"Organization","site_admin":false},"repo":{"id":5373551,"name":"libgdx","full_name":"libgdx/libgdx","owner":{"login":"libgdx","id":509841,"avatar_url":"https://avatars.githubusercontent.com/u/509841?v=3","gravatar_id":"","url":"https://api.github.com/users/libgdx","html_url":"https://github.com/libgdx","followers_url":"https://api.github.com/users/libgdx/followers","following_url":"https://api.github.com/users/libgdx/following{/other_user}","gists_url":"https://api.github.com/users/libgdx/gists{/gist_id}","starred_url":"https://api.github.com/users/libgdx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/libgdx/subscriptions","organizations_url":"https://api.github.com/users/libgdx/orgs","repos_url":"https://api.github.com/users/libgdx/repos","events_url":"https://api.github.com/users/libgdx/events{/privacy}","received_events_url":"https://api.github.com/users/libgdx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/libgdx/libgdx","description":"Desktop/Android/HTML5/iOS Java game development framework","fork":false,"url":"https://api.github.com/repos/libgdx/libgdx","forks_url":"https://api.github.com/repos/libgdx/libgdx/forks","keys_url":"https://api.github.com/repos/libgdx/libgdx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/libgdx/libgdx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/libgdx/libgdx/teams","hooks_url":"https://api.github.com/repos/libgdx/libgdx/hooks","issue_events_url":"https://api.github.com/repos/libgdx/libgdx/issues/events{/number}","events_url":"https://api.github.com/repos/libgdx/libgdx/events","assignees_url":"https://api.github.com/repos/libgdx/libgdx/assignees{/user}","branches_url":"https://api.github.com/repos/libgdx/libgdx/branches{/branch}","tags_url":"https://api.github.com/repos/libgdx/libgdx/tags","blobs_url":"https://api.github.com/repos/libgdx/libgdx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/libgdx/libgdx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/libgdx/libgdx/git/refs{/sha}","trees_url":"https://api.github.com/repos/libgdx/libgdx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/libgdx/libgdx/statuses/{sha}","languages_url":"https://api.github.com/repos/libgdx/libgdx/languages","stargazers_url":"https://api.github.com/repos/libgdx/libgdx/stargazers","contributors_url":"https://api.github.com/repos/libgdx/libgdx/contributors","subscribers_url":"https://api.github.com/repos/libgdx/libgdx/subscribers","subscription_url":"https://api.github.com/repos/libgdx/libgdx/subscription","commits_url":"https://api.github.com/repos/libgdx/libgdx/commits{/sha}","git_commits_url":"https://api.github.com/repos/libgdx/libgdx/git/commits{/sha}","comments_url":"https://api.github.com/repos/libgdx/libgdx/comments{/number}","issue_comment_url":"https://api.github.com/repos/libgdx/libgdx/issues/comments{/number}","contents_url":"https://api.github.com/repos/libgdx/libgdx/contents/{+path}","compare_url":"https://api.github.com/repos/libgdx/libgdx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/libgdx/libgdx/merges","archive_url":"https://api.github.com/repos/libgdx/libgdx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/libgdx/libgdx/downloads","issues_url":"https://api.github.com/repos/libgdx/libgdx/issues{/number}","pulls_url":"https://api.github.com/repos/libgdx/libgdx/pulls{/number}","milestones_url":"https://api.github.com/repos/libgdx/libgdx/milestones{/number}","notifications_url":"https://api.github.com/repos/libgdx/libgdx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/libgdx/libgdx/labels{/name}","releases_url":"https://api.github.com/repos/libgdx/libgdx/releases{/id}","created_at":"2012-08-10T19:34:38Z","updated_at":"2015-06-26T14:02:20Z","pushed_at":"2015-06-26T22:58:20Z","git_url":"git://github.com/libgdx/libgdx.git","ssh_url":"git@github.com:libgdx/libgdx.git","clone_url":"https://github.com/libgdx/libgdx.git","svn_url":"https://github.com/libgdx/libgdx","homepage":"http://www.libgdx.com/","size":1003237,"stargazers_count":6551,"watchers_count":6551,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3976,"mirror_url":null,"open_issues_count":101,"forks":3976,"open_issues":101,"watchers":6551,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/libgdx/libgdx/pulls/3236"},"html":{"href":"https://github.com/libgdx/libgdx/pull/3236"},"issue":{"href":"https://api.github.com/repos/libgdx/libgdx/issues/3236"},"comments":{"href":"https://api.github.com/repos/libgdx/libgdx/issues/3236/comments"},"review_comments":{"href":"https://api.github.com/repos/libgdx/libgdx/pulls/3236/comments"},"review_comment":{"href":"https://api.github.com/repos/libgdx/libgdx/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/libgdx/libgdx/pulls/3236/commits"},"statuses":{"href":"https://api.github.com/repos/libgdx/libgdx/statuses/83d6777fc71311e5b437d6234198b55d3982920d"}}}}