<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Google collections &#8211; ušetřete si práci s kolekcemi</title>
	<atom:link href="http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/</link>
	<description>Dává je jen zřídka, obvykle jim není moc rozumět a často vám ani k ničemu nejsou.</description>
	<lastBuildDate>Wed, 21 Jul 2010 16:31:34 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Ladislav Thon</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1163</link>
		<dc:creator>Ladislav Thon</dc:creator>
		<pubDate>Tue, 11 Dec 2007 17:02:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1163</guid>
		<description>Česky by se řeklo odvozování typů, takže spíš inference typů, ale víme, jak je to s češtinou u lidí z IT :-) Jinak ohledně odvozování typových parametrů konkrétně v Javě 5 a výš se dá něco dočíst třeba ve starém dobrém Generics FAQ: http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html#Type%20Argument%20Inference</description>
		<content:encoded><![CDATA[<p>Česky by se řeklo odvozování typů, takže spíš inference typů, ale víme, jak je to s češtinou u lidí z IT <img src='http://blog.novoj.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Jinak ohledně odvozování typových parametrů konkrétně v Javě 5 a výš se dá něco dočíst třeba ve starém dobrém Generics FAQ: <a href="http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html#Type%20Argument%20Inference" rel="nofollow">http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html#Type%20Argument%20Inference</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Novoj</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1162</link>
		<dc:creator>Novoj</dc:creator>
		<pubDate>Tue, 11 Dec 2007 16:43:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1162</guid>
		<description>K typové inferenci jsem našel např. (pro mě je to také nový termín ;-) ):
http://en.wikipedia.org/wiki/Type_inference</description>
		<content:encoded><![CDATA[<p>K typové inferenci jsem našel např. (pro mě je to také nový termín <img src='http://blog.novoj.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ):<br />
<a href="http://en.wikipedia.org/wiki/Type_inference" rel="nofollow">http://en.wikipedia.org/wiki/Type_inference</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alfonz</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1161</link>
		<dc:creator>alfonz</dc:creator>
		<pubDate>Tue, 11 Dec 2007 13:08:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1161</guid>
		<description>ok, pak se omlouvám, mám zjevně solidní mezery ve vzdělání. Má někdo nějakou doporučenou literaturu ohledně typové inference?</description>
		<content:encoded><![CDATA[<p>ok, pak se omlouvám, mám zjevně solidní mezery ve vzdělání. Má někdo nějakou doporučenou literaturu ohledně typové inference?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ladislav Thon</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1159</link>
		<dc:creator>Ladislav Thon</dc:creator>
		<pubDate>Tue, 11 Dec 2007 11:08:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1159</guid>
		<description>&gt; nenapadá mne jak to udělat jinak než přes reflexi

Typová inference.

Map&lt;Integer, StringBuffer&gt; bufferIndex = Maps.newHashMap();

je úplně totéž, jako

Map&lt;Integer, StringBuffer&gt; bufferIndex = Maps.&lt;Integer, StringBuffer&gt;newHashMap();

akorát že typové parametry doplní překladač sám. U konstruktorů to bohužel takhle nefunguje (v Javě 7 na to nejspíš bude nějaká obezlička, kterou navrhuje Neal Gafter).</description>
		<content:encoded><![CDATA[<p>&gt; nenapadá mne jak to udělat jinak než přes reflexi</p>
<p>Typová inference.</p>
<p>Map&lt;Integer, StringBuffer&gt; bufferIndex = Maps.newHashMap();</p>
<p>je úplně totéž, jako</p>
<p>Map&lt;Integer, StringBuffer&gt; bufferIndex = Maps.&lt;Integer, StringBuffer&gt;newHashMap();</p>
<p>akorát že typové parametry doplní překladač sám. U konstruktorů to bohužel takhle nefunguje (v Javě 7 na to nejspíš bude nějaká obezlička, kterou navrhuje Neal Gafter).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Novoj</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1158</link>
		<dc:creator>Novoj</dc:creator>
		<pubDate>Tue, 11 Dec 2007 09:49:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1158</guid>
		<description>TO: alfonz

Na odkazovaném linku jsem ani nenašel jak knihovnu pořádně stáhnout. Možná se to spíše konvertovalo na projekt: http://larvalabs.com/collections/

Každopádně, co se týká výkonnosti, dovolil bych si nesouhlasit ... schválně, tady je kód pro vytvoření generické mapy:

public static &lt;K, V&gt; HashMap&lt;K, V&gt; newHashMap() {
    return new HashMap&lt;K, V&gt;();
}

Zde žádnou reflection nevidím. Ani v multimapách a dalších věcech, když jsem procházel kódem, jsem na žádnou reflexi nenarazil. Na jedinou alchymii jsem narazil v ObjectArrays a to:

public static &lt;T&gt; T[] newArray(Class&lt;T&gt; type, int length) {
    return (T[]) Array.newInstance(type, length);
}

kde pod Array.newInstance se skrývá:

private static native Object newArray(Class componentType, int length)
	throws NegativeArraySizeException;

Což je už ale standardní Java používající nativní implementaci. Takže s druhou částí tvého tvrzení se mi nechce souhlasit.</description>
		<content:encoded><![CDATA[<p>TO: alfonz</p>
<p>Na odkazovaném linku jsem ani nenašel jak knihovnu pořádně stáhnout. Možná se to spíše konvertovalo na projekt: <a href="http://larvalabs.com/collections/" rel="nofollow">http://larvalabs.com/collections/</a></p>
<p>Každopádně, co se týká výkonnosti, dovolil bych si nesouhlasit &#8230; schválně, tady je kód pro vytvoření generické mapy:</p>
<p>public static &lt;K, V&gt; HashMap&lt;K, V&gt; newHashMap() {<br />
    return new HashMap&lt;K, V&gt;();<br />
}</p>
<p>Zde žádnou reflection nevidím. Ani v multimapách a dalších věcech, když jsem procházel kódem, jsem na žádnou reflexi nenarazil. Na jedinou alchymii jsem narazil v ObjectArrays a to:</p>
<p>public static &lt;T&gt; T[] newArray(Class&lt;T&gt; type, int length) {<br />
    return (T[]) Array.newInstance(type, length);<br />
}</p>
<p>kde pod Array.newInstance se skrývá:</p>
<p>private static native Object newArray(Class componentType, int length)<br />
	throws NegativeArraySizeException;</p>
<p>Což je už ale standardní Java používající nativní implementaci. Takže s druhou částí tvého tvrzení se mi nechce souhlasit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alfonz</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1157</link>
		<dc:creator>alfonz</dc:creator>
		<pubDate>Tue, 11 Dec 2007 09:34:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1157</guid>
		<description>&quot;Problém s Apache Commons je ten, že nejsou updatované pro generiky.&quot; ... http://collections15.sourceforge.net/

jinak některé věci jsou zajímavé, to rozhodně ano, ale zdá se mi že za některými je skryt příliš pomalý kód. Usnadnění vytváření kolekcí je super, ale nenapadá mne jak to udělat jinak než přes reflexi a to je prostě o dost pomalejší.</description>
		<content:encoded><![CDATA[<p>&#8220;Problém s Apache Commons je ten, že nejsou updatované pro generiky.&#8221; &#8230; <a href="http://collections15.sourceforge.net/" rel="nofollow">http://collections15.sourceforge.net/</a></p>
<p>jinak některé věci jsou zajímavé, to rozhodně ano, ale zdá se mi že za některými je skryt příliš pomalý kód. Usnadnění vytváření kolekcí je super, ale nenapadá mne jak to udělat jinak než přes reflexi a to je prostě o dost pomalejší.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ZVrablik</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1156</link>
		<dc:creator>ZVrablik</dc:creator>
		<pubDate>Mon, 10 Dec 2007 13:35:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1156</guid>
		<description>No a pokud pouzivate javu 1.4 muzete zkusit neco starsiho, ale docela dobre pracujiciho: http://pcj.sourceforge.net/</description>
		<content:encoded><![CDATA[<p>No a pokud pouzivate javu 1.4 muzete zkusit neco starsiho, ale docela dobre pracujiciho: <a href="http://pcj.sourceforge.net/" rel="nofollow">http://pcj.sourceforge.net/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Novoj</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1155</link>
		<dc:creator>Novoj</dc:creator>
		<pubDate>Mon, 10 Dec 2007 10:05:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1155</guid>
		<description>No Google Collections se mi zdá, že na Apache Commons hodně ideově navazuje. Problém s Apache Commons je ten, že nejsou updatované pro generiky. Výše uvedený zápis kódu, který jsi poslal mi hlásí. &quot;Unchecked assignment&quot; - což je kompilační warning, který s Google collections nemám. Navíc právě to druhé co jsi napsal se dá elegantně řešit multimapou.</description>
		<content:encoded><![CDATA[<p>No Google Collections se mi zdá, že na Apache Commons hodně ideově navazuje. Problém s Apache Commons je ten, že nejsou updatované pro generiky. Výše uvedený zápis kódu, který jsi poslal mi hlásí. &#8220;Unchecked assignment&#8221; &#8211; což je kompilační warning, který s Google collections nemám. Navíc právě to druhé co jsi napsal se dá elegantně řešit multimapou.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ufak</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1154</link>
		<dc:creator>ufak</dc:creator>
		<pubDate>Mon, 10 Dec 2007 08:11:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1154</guid>
		<description>A co Appache commons? 

To jsem netusil, ze prekladac se kouka na navratovy typ pri volani 
To je sice elegantni, zajimave, da se to vyuzit i natlouct si nos.

  public static  HashMap newHashMap() {
    return new HashMap();
  }

Dokonce zbastil i 

Map&lt;String, java.util.List&gt; mSL = newHashMap();
 java.util.List list1 = new java.util.ArrayList();
 list1.add( &quot;ahoj&quot;);
 list1.add( &quot;nazdar&quot;);
 mSL.put( &quot;prvni&quot;, list1 ) ;</description>
		<content:encoded><![CDATA[<p>A co Appache commons? </p>
<p>To jsem netusil, ze prekladac se kouka na navratovy typ pri volani<br />
To je sice elegantni, zajimave, da se to vyuzit i natlouct si nos.</p>
<p>  public static  HashMap newHashMap() {<br />
    return new HashMap();<br />
  }</p>
<p>Dokonce zbastil i </p>
<p>Map&lt;String, java.util.List&gt; mSL = newHashMap();<br />
 java.util.List list1 = new java.util.ArrayList();<br />
 list1.add( &#8220;ahoj&#8221;);<br />
 list1.add( &#8220;nazdar&#8221;);<br />
 mSL.put( &#8220;prvni&#8221;, list1 ) ;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomas Kutin</title>
		<link>http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/comment-page-1/#comment-1150</link>
		<dc:creator>Tomas Kutin</dc:creator>
		<pubDate>Sun, 09 Dec 2007 20:38:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.novoj.net/2007/12/09/google-collections-usetrete-si-praci-s-kolekcemi/#comment-1150</guid>
		<description>zajimave, pekne, uzitecne : ) libi se mi to!</description>
		<content:encoded><![CDATA[<p>zajimave, pekne, uzitecne : ) libi se mi to!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
