Array-3 Harder array problems -- 2 loops, more complex logic
前編を書いたのが9月です。月日がたつのは早いものです。今日は中編です。途中まで後編のつもりで書いていましたが、すべて書ききらないので中編になりました。後編はいつになるのやら、という感じですが。 プログラミングのなぜに答える会で、Tさんから「Javaでstaticを使う場合はどう判断しますか?」という質問がありました。以下、Javaのstaticの働き自体は分かっている前提とします。 表面的な回答は簡単です。あるクラスのstaticフィールドやstaticメソッドは、そのクラスのオブジェクト群(インスタンス)で共有したい状態や操作に対して使います。別の説明として、staticフィールドやstaticメソッドはオブジェクトを生成せずに使いたい状態や操作に使います、などが回答になりえます。嘘ではありませんが、この説明だけでは、staticをいつ使うべきかの判断にはなりません。 staticフィー
元ねた:Javaを使うなら必ず覚えておきたいデータ構造 - 配列・リスト・マップ - いろいろ解析日記 なんか色々と足りないよね、ってことで、色々と補足を。 配列 配列の生成 配列に含める要素が既に分かっている場合、例えば、 String[] strs = new String[2]; strs[0] = "hoge"; strs[1] = "piyo"; このような場合、以下のように記述できる。 String[] strs = { "hoge", "piyo" }; 独自のクラスだったとしても、 Hoge[] hs = { new Hoge(), new Hoge() }; と、普通に可能。 これを使うと、引数を 2 つ受け取って配列にまとめて返すメソッドは、 Hoge[] toArray(Hoge a, Hoge b) { Hoge[] result = { a, b }; retur
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
「HashMapのputとgetを同時に行うと、無限ループが発生する」という事は Javaエンジニアな皆さんならご存知だと思います。 1. 無限ループの再現 まずは論より証拠、無限ループになることを確認してみましょう。 こんなテストコードを書けば、すぐに再現できます。 public void testHashMap_無限ループ() throws InterruptedException { final Map<Integer, Integer> map = new HashMap<Integer, Integer>(); Runnable runnable = new Runnable() { public void run() { for (int i = 0; i < 1000000; i++) { int key = i % 10000; if (map.containsKey(ke
ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし本気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板 で
We’re getting things ready Loading your experience… This won’t take long.
この記事は、http://d.hatena.ne.jp/higayasuo/20090612/1244772658 の「Ctrl+1とCtrl+Spaceうんぬん」の話にインスパイアされて書いた。Eclipse可愛いよ。Eclipse。 記事長いから、さくっと読み飛ばして、アニメーションgifがあるところから読んでも十分訳にたつと思う。 あと、新人さんとかに写経させるのもいいかも。というか、半分ぐらいうちの新人に勉強のためと思って書いたから。で、実際に写経させて役にたった。 Java は Eclipse などの IDE も含めて言語というか、環境というか…だと僕は思ってる。Commons, Maven なども含めたい(まぁ、そのあたりは、CPANも含めてperlだろ。とか、これは否定する人だらけだろうけど、Rails=rubyということを言う人もいるよね)。 少なくとも僕は、Eclipse
java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。 Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 import java.util.*; class User { final String name;
unassert - encourage reliable programming by writing assertions in production
元ネタ: map_between をやってみる - Study08.net 対シンバシ殲滅用人型機動兵器 http://d.hatena.ne.jp/imagawa_yakata/20120105/1325781387 最近、Java のコードばかり書いています。 Java には、Python にはない wikipedia:抽象型 としてのインターフェースがあります。 パーフェクト Java から引用すると、インターフェースは、 オブジェクトにそのインターフェースの決めた振る舞いを期待することの表明 だと説明されています。また Java でプログラミングする上で、インターフェースを意識した抽象化が、複雑さの軽減、保守しやすいコードを書くのに重要だとあります *1 。 以前、EuroPython 2011 のイベントレポートを執筆した際に *2 、私はイテレーターという用語の扱い方に何となく
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く